16 #ifndef vtkGeometryRepresentation_h 17 #define vtkGeometryRepresentation_h 27 #include <unordered_map> 52 void PrintSelf(ostream& os,
vtkIndent indent)
override;
67 void SetVisibility(
bool val)
override;
74 void SetBlockColorsDistinctValues(
int distinctValues);
75 int GetBlockColorsDistinctValues();
89 vtkBooleanMacro(DisableLighting,
bool);
90 vtkSetMacro(DisableLighting,
bool);
91 vtkGetMacro(DisableLighting,
bool);
101 vtkSetMacro(Ambient,
double);
102 vtkSetMacro(Diffuse,
double);
103 vtkSetMacro(Specular,
double);
104 vtkGetMacro(Ambient,
double);
105 vtkGetMacro(Diffuse,
double);
106 vtkGetMacro(Specular,
double);
114 SURFACE_WITH_EDGES = 3
122 void SetCoordinateShiftScaleMethod(
int val);
123 int GetCoordinateShiftScaleMethod();
131 vtkSetClampMacro(Representation,
int, POINTS, SURFACE_WITH_EDGES);
132 vtkGetMacro(Representation,
int);
139 virtual void SetRepresentation(
const char*);
152 vtkSetMacro(RequestGhostCellsIfNeeded,
bool);
153 vtkGetMacro(RequestGhostCellsIfNeeded,
bool);
154 vtkBooleanMacro(RequestGhostCellsIfNeeded,
bool);
161 virtual void SetNormalArray(
const char* val);
167 virtual void SetTCoordArray(
const char* val);
173 virtual void SetTangentArray(
const char* val);
177 virtual void SetUseOutline(
int);
178 void SetTriangulate(
int);
179 void SetNonlinearSubdivisionLevel(
int);
180 void SetMatchBoundariesIgnoringCellOrder(
int);
181 virtual void SetGenerateFeatureEdges(
bool);
182 void SetComputePointNormals(
bool);
183 void SetSplitting(
bool);
184 void SetFeatureAngle(
double);
188 virtual void SetAmbientColor(
double r,
double g,
double b);
189 virtual void SetColor(
double r,
double g,
double b);
190 virtual void SetDiffuseColor(
double r,
double g,
double b);
191 virtual void SetLighting(
bool lighting);
192 virtual void SetEdgeColor(
double r,
double g,
double b);
193 virtual void SetInteractiveSelectionColor(
double r,
double g,
double b);
194 virtual void SetInterpolation(
int val);
195 virtual void SetLineWidth(
double val);
196 virtual void SetOpacity(
double val);
197 virtual void SetEdgeOpacity(
double val);
198 virtual void SetPointSize(
double val);
199 virtual void SetSpecularColor(
double r,
double g,
double b);
200 virtual void SetSpecularPower(
double val);
201 virtual void SetLuminosity(
double val);
202 virtual void SetRenderPointsAsSpheres(
bool);
203 virtual void SetRenderLinesAsTubes(
bool);
204 virtual void SetRoughness(
double val);
205 virtual void SetMetallic(
double val);
206 virtual void SetEdgeTint(
double r,
double g,
double b);
207 virtual void SetAnisotropy(
double val);
208 virtual void SetAnisotropyRotation(
double val);
209 virtual void SetBaseIOR(
double val);
210 virtual void SetCoatIOR(
double val);
211 virtual void SetCoatStrength(
double val);
212 virtual void SetCoatRoughness(
double val);
213 virtual void SetCoatNormalScale(
double val);
214 virtual void SetCoatColor(
double r,
double g,
double b);
215 virtual void SetBaseColorTexture(
vtkTexture* tex);
216 virtual void SetMaterialTexture(
vtkTexture* tex);
217 virtual void SetAnisotropyTexture(
vtkTexture* tex);
218 virtual void SetNormalTexture(
vtkTexture* tex);
219 virtual void SetCoatNormalTexture(
vtkTexture* tex);
220 virtual void SetEmissiveTexture(
vtkTexture* tex);
221 virtual void SetNormalScale(
double val);
222 virtual void SetOcclusionStrength(
double val);
223 virtual void SetEmissiveFactor(
double rval,
double gval,
double bval);
224 virtual void SetShowTexturesOnBackface(
bool);
228 virtual void SetOrientation(
double,
double,
double);
229 virtual void SetOrigin(
double,
double,
double);
230 virtual void SetPickable(
int val);
231 virtual void SetPosition(
double,
double,
double);
232 virtual void SetScale(
double,
double,
double);
234 virtual void SetUserTransform(
const double[16]);
236 virtual
void SetFlipTextures(
bool);
237 virtual
void SetCoordinateSystem(
int);
242 vtkGetObjectMacro(TextureTransform, vtkTransform);
243 virtual
void SetRepeatTextures(
bool);
244 vtkGetMacro(RepeatTextures,
bool);
245 virtual
void SetInterpolateTextures(
bool);
246 vtkGetMacro(InterpolateTextures,
bool);
247 virtual
void SetUseMipmapTextures(
bool);
248 vtkGetMacro(UseMipmapTextures,
bool);
252 virtual
void SetInterpolateScalarsBeforeMapping(
int val);
254 virtual
void SetColorMissingArraysWithNanColor(
bool val);
255 virtual
void SetSeamlessU(
bool);
256 virtual
void SetSeamlessV(
bool);
265 virtual
void SetMapScalars(
int val);
266 virtual
void SetStatic(
int val);
286 vtkSetStringMacro(ActiveAssembly);
287 vtkGetStringMacro(ActiveAssembly);
294 void AddBlockSelector(
const char* selector);
295 void RemoveAllBlockSelectors();
302 void SetBlockColor(
const char* selector,
double r,
double g,
double b);
303 void RemoveAllBlockColors();
310 void SetBlockOpacity(
const char* selector,
double opacity);
311 void RemoveAllBlockOpacities();
318 void SetBlockInterpolateScalarsBeforeMapping(
const char* selector,
bool interpolate);
319 void RemoveAllBlockInterpolateScalarsBeforeMappings();
328 void SetBlockMapScalars(
const char* selector,
int val);
329 void RemoveAllBlockMapScalars();
336 void SetBlockArrayName(
const char* selector,
int assoc,
const char* arrayName);
337 void RemoveAllBlockArrayNames();
348 void RemoveAllBlockLookupTables();
354 const char* GetColorArrayName();
363 static bool GetBounds(
371 virtual void SetEnableScaling(
int v);
372 virtual void SetScalingArrayName(
const char*);
379 virtual void SetMaterial(
const char*);
388 vtkSetMacro(UseDataPartitions,
bool);
389 vtkGetMacro(UseDataPartitions,
bool);
396 virtual void SetUseShaderReplacements(
bool);
397 vtkGetMacro(UseShaderReplacements,
bool);
405 virtual void SetShaderReplacements(
const char*);
411 void SetArrayIdNames(
const char* pointArray,
const char* cellArray)
override;
426 void SetPlaceHolderDataType(
int datatype);
427 vtkGetMacro(PlaceHolderDataType,
int);
440 virtual void SetupDefaults();
470 bool AddToView(
vtkView* view)
override;
477 bool RemoveFromView(
vtkView* view)
override;
482 virtual void UpdateColoringParameters();
490 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
505 void ComputeVisibleDataBounds();
510 void UpdateShaderReplacements();
518 virtual bool NeedsOrderedCompositing();
523 virtual void SetPointArrayToProcess(
int p,
const char* val);
528 void UpdateGeneralTextureTransform();
540 char* ActiveAssembly =
nullptr;
551 double VisibleDataBounds[6];
562 bool BlockAttrChanged =
false;
564 bool UpdateBlockAttrLOD =
false;
567 int PlaceHolderDataType = VTK_PARTITIONED_DATA_SET_COLLECTION;
593 bool DisableLighting =
false;
vtkGeometryRepresentation_detail::DecimationFilterType * Decimator
vtkTransform * TextureTransform
std::string ShaderReplacementsString
vtkAlgorithm * MultiBlockMaker
std::vector< std::pair< vtkDataObject *, vtkIdType > > BlockFieldDataTupleIds
Configured internally in vtkGeometryRepresentation.
virtual vtkPVLODActor * GetRenderedProp()
Used in ConvertSelection to locate the prop used for actual rendering.
std::vector< std::pair< std::string, vtkVector3d > > BlockColors
Configurable through vtkGeometryRepresentation API.
#define VTKREMOTINGVIEWS_EXPORT
vtkPVDataRepresentation adds some ParaView specific API to data representations.
Geometry filter that does outlines for volumes.
std::vector< std::pair< std::string, double > > BlockOpacities
Configurable through vtkGeometryRepresentation API.
representation for showing any datasets as external shell of polygons.
#define PARAVIEW_DEPRECATED_IN_5_13_0(reason)
vtkPVGeometryFilter * LODOutlineFilter
vtkTimeStamp VisibleDataBoundsTime
bool RequestGhostCellsIfNeeded
std::vector< std::pair< std::string, std::pair< int, std::string > > > BlockArrayNames
Configurable through vtkGeometryRepresentation API.
std::vector< std::pair< std::string, int > > BlockColorModes
Configurable through vtkGeometryRepresentation API.
std::vector< std::pair< std::string, bool > > BlockInterpolateScalarsBeforeMapping
Configurable through vtkGeometryRepresentation API.
vtkAlgorithm * GeometryFilter
std::vector< vtkScalarsToColors * > BlockLookupTables
Configurable through vtkGeometryRepresentation API.
std::vector< std::pair< std::string, bool > > BlockScalarVisibilities
Configured internally in vtkGeometryRepresentation.
vtkPiecewiseFunction * PWF
an actor that supports multiple levels of detail
std::vector< std::string > BlockSelectors
Configurable through vtkGeometryRepresentation API.
std::vector< std::pair< std::string, bool > > BlockUseLookupTableScalarRanges
Configured internally in vtkGeometryRepresentation.
bool UseShaderReplacements
vtkTimeStamp BlockAttributeTime
virtual void SetSuppressLOD(bool suppress)
Enable/Disable LOD;.