28 #ifndef vtkGeometryRepresentation_h 29 #define vtkGeometryRepresentation_h 31 #include <unordered_map> 60 void PrintSelf(ostream& os,
vtkIndent indent)
override;
75 void SetVisibility(
bool val)
override;
82 void SetBlockColorsDistinctValues(
int distinctValues);
83 int GetBlockColorsDistinctValues();
99 vtkSetMacro(Ambient,
double);
100 vtkSetMacro(Diffuse,
double);
101 vtkSetMacro(Specular,
double);
102 vtkGetMacro(Ambient,
double);
103 vtkGetMacro(Diffuse,
double);
104 vtkGetMacro(Specular,
double);
112 SURFACE_WITH_EDGES = 3
120 void SetCoordinateShiftScaleMethod(
int val);
121 int GetCoordinateShiftScaleMethod();
129 vtkSetClampMacro(Representation,
int, POINTS, SURFACE_WITH_EDGES);
130 vtkGetMacro(Representation,
int);
137 virtual void SetRepresentation(
const char*);
150 vtkSetMacro(RequestGhostCellsIfNeeded,
bool);
151 vtkGetMacro(RequestGhostCellsIfNeeded,
bool);
152 vtkBooleanMacro(RequestGhostCellsIfNeeded,
bool);
159 virtual void SetNormalArray(
const char* val);
165 virtual void SetTCoordArray(
const char* val);
171 virtual void SetTangentArray(
const char* val);
175 virtual void SetUseOutline(
int);
176 void SetTriangulate(
int);
177 void SetNonlinearSubdivisionLevel(
int);
178 virtual void SetGenerateFeatureEdges(
bool);
182 virtual void SetAmbientColor(
double r,
double g,
double b);
183 virtual void SetColor(
double r,
double g,
double b);
184 virtual void SetDiffuseColor(
double r,
double g,
double b);
185 virtual void SetEdgeColor(
double r,
double g,
double b);
186 virtual void SetInteractiveSelectionColor(
double r,
double g,
double b);
187 virtual void SetInterpolation(
int val);
188 virtual void SetLineWidth(
double val);
189 virtual void SetOpacity(
double val);
190 virtual void SetPointSize(
double val);
191 virtual void SetSpecularColor(
double r,
double g,
double b);
192 virtual void SetSpecularPower(
double val);
193 virtual void SetLuminosity(
double val);
194 virtual void SetRenderPointsAsSpheres(
bool);
195 virtual void SetRenderLinesAsTubes(
bool);
196 virtual void SetRoughness(
double val);
197 virtual void SetMetallic(
double val);
198 virtual void SetEdgeTint(
double r,
double g,
double b);
199 virtual void SetBaseColorTexture(
vtkTexture* tex);
200 virtual void SetMaterialTexture(
vtkTexture* tex);
201 virtual void SetNormalTexture(
vtkTexture* tex);
202 virtual void SetEmissiveTexture(
vtkTexture* tex);
203 virtual void SetNormalScale(
double val);
204 virtual void SetOcclusionStrength(
double val);
205 virtual void SetEmissiveFactor(
double rval,
double gval,
double bval);
209 virtual void SetOrientation(
double,
double,
double);
210 virtual void SetOrigin(
double,
double,
double);
211 virtual void SetPickable(
int val);
212 virtual void SetPosition(
double,
double,
double);
213 virtual void SetScale(
double,
double,
double);
215 virtual void SetUserTransform(
const double[16]);
216 virtual void SetFlipTextures(
bool);
220 virtual void SetRepeatTextures(
bool);
221 vtkGetMacro(RepeatTextures,
bool);
222 virtual void SetInterpolateTextures(
bool);
223 vtkGetMacro(InterpolateTextures,
bool);
224 virtual void SetUseMipmapTextures(
bool);
225 vtkGetMacro(UseMipmapTextures,
bool);
229 virtual void SetInterpolateScalarsBeforeMapping(
int val);
231 virtual void SetSeamlessU(
bool);
232 virtual void SetSeamlessV(
bool);
241 virtual void SetMapScalars(
int val);
242 virtual void SetStatic(
int val);
259 virtual void SetBlockVisibility(
unsigned int index,
bool visible);
260 virtual bool GetBlockVisibility(
unsigned int index)
const;
261 virtual void RemoveBlockVisibility(
unsigned int index,
bool =
true);
262 virtual void RemoveBlockVisibilities();
269 virtual void SetBlockColor(
unsigned int index,
double r,
double g,
double b);
270 virtual void SetBlockColor(
unsigned int index,
double*
color);
271 virtual double* GetBlockColor(
unsigned int index);
272 virtual void RemoveBlockColor(
unsigned int index);
273 virtual void RemoveBlockColors();
280 virtual void SetBlockOpacity(
unsigned int index,
double opacity);
281 virtual void SetBlockOpacity(
unsigned int index,
double* opacity);
282 virtual double GetBlockOpacity(
unsigned int index);
283 virtual void RemoveBlockOpacity(
unsigned int index);
284 virtual void RemoveBlockOpacities();
290 const char* GetColorArrayName();
299 static bool GetBounds(
307 virtual void SetEnableScaling(
int v);
308 virtual void SetScalingArrayName(
const char*);
315 virtual void SetMaterial(
const char*);
324 vtkSetMacro(UseDataPartitions,
bool);
325 vtkGetMacro(UseDataPartitions,
bool);
332 virtual void SetUseShaderReplacements(
bool);
333 vtkGetMacro(UseShaderReplacements,
bool);
341 virtual void SetShaderReplacements(
const char*);
347 virtual void SetArrayIdNames(
const char* pointArray,
const char* cellArray);
359 virtual void SetupDefaults();
389 bool AddToView(
vtkView* view)
override;
396 bool RemoveFromView(
vtkView* view)
override;
401 virtual void UpdateColoringParameters();
409 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
418 void UpdateBlockAttributes(
vtkMapper* mapper);
424 void ComputeVisibleDataBounds();
429 void UpdateShaderReplacements();
437 virtual bool NeedsOrderedCompositing();
442 virtual void SetPointArrayToProcess(
int p,
const char* val);
463 double VisibleDataBounds[6];
474 bool BlockAttrChanged =
false;
476 bool UpdateBlockAttrLOD =
false;
479 std::unordered_map<unsigned int, std::array<double, 3> >
BlockColors;
vtkGeometryRepresentation_detail::DecimationFilterType * Decimator
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.
vtkPVLODActor * GetActor()
Provides access to the actor used by this representation.
Geometry filter that does outlines for volumes.
std::unordered_map< unsigned int, bool > BlockVisibilities
representation for showing any datasets as external shell of polygons.
std::unordered_map< unsigned int, std::array< double, 3 > > BlockColors
vtkPVGeometryFilter * LODOutlineFilter
vtkTimeStamp VisibleDataBoundsTime
bool RequestGhostCellsIfNeeded
vtkAlgorithm * GeometryFilter
std::unordered_map< unsigned int, double > BlockOpacities
vtkPiecewiseFunction * PWF
an actor that supports multiple levels of detail
bool UseShaderReplacements
vtkTimeStamp BlockAttributeTime
virtual void SetSuppressLOD(bool suppress)
Enable/Disable LOD;.