28 #ifndef vtkGeometryRepresentation_h 29 #define vtkGeometryRepresentation_h 38 #include <unordered_map> 62 void PrintSelf(ostream& os,
vtkIndent indent)
override;
77 void SetVisibility(
bool val)
override;
84 void SetBlockColorsDistinctValues(
int distinctValues);
85 int GetBlockColorsDistinctValues();
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 virtual void SetGenerateFeatureEdges(
bool);
184 virtual void SetAmbientColor(
double r,
double g,
double b);
185 virtual void SetColor(
double r,
double g,
double b);
186 virtual void SetDiffuseColor(
double r,
double g,
double b);
187 virtual void SetEdgeColor(
double r,
double g,
double b);
188 virtual void SetInteractiveSelectionColor(
double r,
double g,
double b);
189 virtual void SetInterpolation(
int val);
190 virtual void SetLineWidth(
double val);
191 virtual void SetOpacity(
double val);
192 virtual void SetPointSize(
double val);
193 virtual void SetSpecularColor(
double r,
double g,
double b);
194 virtual void SetSpecularPower(
double val);
195 virtual void SetLuminosity(
double val);
196 virtual void SetRenderPointsAsSpheres(
bool);
197 virtual void SetRenderLinesAsTubes(
bool);
198 virtual void SetRoughness(
double val);
199 virtual void SetMetallic(
double val);
200 virtual void SetEdgeTint(
double r,
double g,
double b);
201 virtual void SetAnisotropy(
double val);
202 virtual void SetAnisotropyRotation(
double val);
203 virtual void SetBaseIOR(
double val);
204 virtual void SetCoatIOR(
double val);
205 virtual void SetCoatStrength(
double val);
206 virtual void SetCoatRoughness(
double val);
207 virtual void SetCoatNormalScale(
double val);
208 virtual void SetCoatColor(
double r,
double g,
double b);
209 virtual void SetBaseColorTexture(
vtkTexture* tex);
210 virtual void SetMaterialTexture(
vtkTexture* tex);
211 virtual void SetAnisotropyTexture(
vtkTexture* tex);
212 virtual void SetNormalTexture(
vtkTexture* tex);
213 virtual void SetCoatNormalTexture(
vtkTexture* tex);
214 virtual void SetEmissiveTexture(
vtkTexture* tex);
215 virtual void SetNormalScale(
double val);
216 virtual void SetOcclusionStrength(
double val);
217 virtual void SetEmissiveFactor(
double rval,
double gval,
double bval);
218 virtual void SetShowTexturesOnBackface(
bool);
222 virtual void SetOrientation(
double,
double,
double);
223 virtual void SetOrigin(
double,
double,
double);
224 virtual void SetPickable(
int val);
225 virtual void SetPosition(
double,
double,
double);
226 virtual void SetScale(
double,
double,
double);
228 virtual void SetUserTransform(
const double[16]);
229 virtual void SetFlipTextures(
bool);
233 virtual void SetRepeatTextures(
bool);
234 vtkGetMacro(RepeatTextures,
bool);
235 virtual void SetInterpolateTextures(
bool);
236 vtkGetMacro(InterpolateTextures,
bool);
237 virtual void SetUseMipmapTextures(
bool);
238 vtkGetMacro(UseMipmapTextures,
bool);
242 virtual void SetInterpolateScalarsBeforeMapping(
int val);
244 virtual void SetSeamlessU(
bool);
245 virtual void SetSeamlessV(
bool);
254 virtual void SetMapScalars(
int val);
255 virtual void SetStatic(
int val);
285 void AddBlockSelector(
const char*);
286 void RemoveAllBlockSelectors();
293 void SetBlockColor(
const char*,
double,
double,
double);
294 void RemoveAllBlockColors();
301 void SetBlockOpacity(
const char*,
double);
302 void RemoveAllBlockOpacities();
308 const char* GetColorArrayName();
317 static bool GetBounds(
325 virtual void SetEnableScaling(
int v);
326 virtual void SetScalingArrayName(
const char*);
333 virtual void SetMaterial(
const char*);
342 vtkSetMacro(UseDataPartitions,
bool);
343 vtkGetMacro(UseDataPartitions,
bool);
350 virtual void SetUseShaderReplacements(
bool);
351 vtkGetMacro(UseShaderReplacements,
bool);
359 virtual void SetShaderReplacements(
const char*);
365 void SetArrayIdNames(
const char* pointArray,
const char* cellArray)
override;
377 virtual void SetupDefaults();
407 bool AddToView(
vtkView* view)
override;
414 bool RemoveFromView(
vtkView* view)
override;
419 virtual void UpdateColoringParameters();
427 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
442 void ComputeVisibleDataBounds();
447 void UpdateShaderReplacements();
455 virtual bool NeedsOrderedCompositing();
460 virtual void SetPointArrayToProcess(
int p,
const char* val);
481 double VisibleDataBounds[6];
492 bool BlockAttrChanged =
false;
494 bool UpdateBlockAttrLOD =
false;
vtkGeometryRepresentation_detail::DecimationFilterType * Decimator
std::unordered_map< std::string, vtkVector3d > BlockColors
void SetActiveAssembly(const char *)
Get/Set the name of the assembly to use for mapping block visibilities, colors and opacities...
std::string ShaderReplacementsString
vtkAlgorithm * MultiBlockMaker
virtual vtkPVLODActor * GetRenderedProp()
Used in ConvertSelection to locate the prop used for actual rendering.
#define VTKREMOTINGVIEWS_EXPORT
vtkPVDataRepresentation adds some ParaView specific API to data representations.
std::unordered_map< std::string, double > BlockOpacities
vtkPVLODActor * GetActor()
Provides access to the actor used by this representation.
Geometry filter that does outlines for volumes.
representation for showing any datasets as external shell of polygons.
vtkPVGeometryFilter * LODOutlineFilter
std::set< std::string > BlockSelectors
vtkTimeStamp VisibleDataBoundsTime
bool RequestGhostCellsIfNeeded
vtkAlgorithm * GeometryFilter
vtkPiecewiseFunction * PWF
an actor that supports multiple levels of detail
bool UseShaderReplacements
vtkTimeStamp BlockAttributeTime
virtual void SetSuppressLOD(bool suppress)
Enable/Disable LOD;.