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]);
235 virtual void SetCoordinateSystem(
int);
241 virtual void SetRepeatTextures(
bool);
242 vtkGetMacro(RepeatTextures,
bool);
243 virtual void SetInterpolateTextures(
bool);
244 vtkGetMacro(InterpolateTextures,
bool);
245 virtual void SetUseMipmapTextures(
bool);
246 vtkGetMacro(UseMipmapTextures,
bool);
250 virtual void SetInterpolateScalarsBeforeMapping(
int val);
252 virtual void SetColorMissingArraysWithNanColor(
bool val);
253 virtual void SetSeamlessU(
bool);
254 virtual void SetSeamlessV(
bool);
263 virtual void SetMapScalars(
int val);
264 virtual void SetStatic(
int val);
284 vtkSetStringMacro(ActiveAssembly);
285 vtkGetStringMacro(ActiveAssembly);
292 void AddBlockSelector(
const char* selector);
293 void RemoveAllBlockSelectors();
300 void SetBlockColor(
const char* selector,
double r,
double g,
double b);
301 void RemoveAllBlockColors();
308 void SetBlockOpacity(
const char* selector,
double opacity);
309 void RemoveAllBlockOpacities();
316 void SetBlockInterpolateScalarsBeforeMapping(
const char* selector,
bool interpolate);
317 void RemoveAllBlockInterpolateScalarsBeforeMappings();
326 void SetBlockMapScalars(
const char* selector,
int val);
327 void RemoveAllBlockMapScalars();
334 void SetBlockArrayName(
const char* selector,
int assoc,
const char* arrayName);
335 void RemoveAllBlockArrayNames();
346 void RemoveAllBlockLookupTables();
352 const char* GetColorArrayName();
361 static bool GetBounds(
369 virtual void SetEnableScaling(
int v);
370 virtual void SetScalingArrayName(
const char*);
377 virtual void SetMaterial(
const char*);
386 vtkSetMacro(UseDataPartitions,
bool);
387 vtkGetMacro(UseDataPartitions,
bool);
394 virtual void SetUseShaderReplacements(
bool);
395 vtkGetMacro(UseShaderReplacements,
bool);
403 virtual void SetShaderReplacements(
const char*);
409 void SetArrayIdNames(
const char* pointArray,
const char* cellArray)
override;
424 void SetPlaceHolderDataType(
int datatype);
425 vtkGetMacro(PlaceHolderDataType,
int);
438 virtual void SetupDefaults();
468 bool AddToView(
vtkView* view)
override;
475 bool RemoveFromView(
vtkView* view)
override;
480 virtual void UpdateColoringParameters();
488 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
503 void ComputeVisibleDataBounds();
508 void UpdateShaderReplacements();
516 virtual bool NeedsOrderedCompositing();
521 virtual void SetPointArrayToProcess(
int p,
const char* val);
526 void UpdateGeneralTextureTransform();
538 char* ActiveAssembly =
nullptr;
549 double VisibleDataBounds[6];
560 bool BlockAttrChanged =
false;
562 bool UpdateBlockAttrLOD =
false;
565 int PlaceHolderDataType = VTK_PARTITIONED_DATA_SET_COLLECTION;
591 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.
vtkPVLODActor * GetActor()
Provides access to the actor used by this representation.
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.
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;.