16 #ifndef vtkGeometryRepresentation_h
17 #define vtkGeometryRepresentation_h
21 #include "vtkRemotingViewsModule.h"
26 #include <unordered_map>
71 void SetBlockColorsDistinctValues(
int distinctValues);
72 int GetBlockColorsDistinctValues();
88 vtkSetMacro(Ambient,
double);
89 vtkSetMacro(Diffuse,
double);
90 vtkSetMacro(Specular,
double);
91 vtkGetMacro(Ambient,
double);
92 vtkGetMacro(Diffuse,
double);
93 vtkGetMacro(Specular,
double);
101 SURFACE_WITH_EDGES = 3
109 void SetCoordinateShiftScaleMethod(
int val);
110 int GetCoordinateShiftScaleMethod();
118 vtkSetClampMacro(Representation,
int, POINTS, SURFACE_WITH_EDGES);
119 vtkGetMacro(Representation,
int);
126 virtual void SetRepresentation(
const char*);
139 vtkSetMacro(RequestGhostCellsIfNeeded,
bool);
140 vtkGetMacro(RequestGhostCellsIfNeeded,
bool);
141 vtkBooleanMacro(RequestGhostCellsIfNeeded,
bool);
148 virtual void SetNormalArray(
const char* val);
154 virtual void SetTCoordArray(
const char* val);
160 virtual void SetTangentArray(
const char* val);
164 virtual void SetUseOutline(
int);
165 void SetTriangulate(
int);
166 void SetNonlinearSubdivisionLevel(
int);
167 void SetMatchBoundariesIgnoringCellOrder(
int);
168 virtual void SetGenerateFeatureEdges(
bool);
172 virtual void SetAmbientColor(
double r,
double g,
double b);
173 virtual void SetColor(
double r,
double g,
double b);
174 virtual void SetDiffuseColor(
double r,
double g,
double b);
175 virtual void SetEdgeColor(
double r,
double g,
double b);
176 virtual void SetInteractiveSelectionColor(
double r,
double g,
double b);
177 virtual void SetInterpolation(
int val);
178 virtual void SetLineWidth(
double val);
179 virtual void SetOpacity(
double val);
180 virtual void SetEdgeOpacity(
double val);
181 virtual void SetPointSize(
double val);
182 virtual void SetSpecularColor(
double r,
double g,
double b);
183 virtual void SetSpecularPower(
double val);
184 virtual void SetLuminosity(
double val);
185 virtual void SetRenderPointsAsSpheres(
bool);
186 virtual void SetRenderLinesAsTubes(
bool);
187 virtual void SetRoughness(
double val);
188 virtual void SetMetallic(
double val);
189 virtual void SetEdgeTint(
double r,
double g,
double b);
190 virtual void SetAnisotropy(
double val);
191 virtual void SetAnisotropyRotation(
double val);
192 virtual void SetBaseIOR(
double val);
193 virtual void SetCoatIOR(
double val);
194 virtual void SetCoatStrength(
double val);
195 virtual void SetCoatRoughness(
double val);
196 virtual void SetCoatNormalScale(
double val);
197 virtual void SetCoatColor(
double r,
double g,
double b);
198 virtual void SetBaseColorTexture(
vtkTexture* tex);
199 virtual void SetMaterialTexture(
vtkTexture* tex);
200 virtual void SetAnisotropyTexture(
vtkTexture* tex);
201 virtual void SetNormalTexture(
vtkTexture* tex);
202 virtual void SetCoatNormalTexture(
vtkTexture* tex);
203 virtual void SetEmissiveTexture(
vtkTexture* tex);
204 virtual void SetNormalScale(
double val);
205 virtual void SetOcclusionStrength(
double val);
206 virtual void SetEmissiveFactor(
double rval,
double gval,
double bval);
207 virtual void SetShowTexturesOnBackface(
bool);
211 virtual void SetOrientation(
double,
double,
double);
212 virtual void SetOrigin(
double,
double,
double);
213 virtual void SetPickable(
int val);
214 virtual void SetPosition(
double,
double,
double);
215 virtual void SetScale(
double,
double,
double);
217 virtual void SetUserTransform(
const double[16]);
218 virtual void SetFlipTextures(
bool);
222 virtual void SetRepeatTextures(
bool);
223 vtkGetMacro(RepeatTextures,
bool);
224 virtual void SetInterpolateTextures(
bool);
225 vtkGetMacro(InterpolateTextures,
bool);
226 virtual void SetUseMipmapTextures(
bool);
227 vtkGetMacro(UseMipmapTextures,
bool);
231 virtual void SetInterpolateScalarsBeforeMapping(
int val);
233 virtual void SetColorMissingArraysWithNanColor(
bool val);
234 virtual void SetSeamlessU(
bool);
235 virtual void SetSeamlessV(
bool);
244 virtual void SetMapScalars(
int val);
245 virtual void SetStatic(
int val);
265 vtkSetStringMacro(ActiveAssembly);
266 vtkGetStringMacro(ActiveAssembly);
273 void AddBlockSelector(
const char*);
274 void RemoveAllBlockSelectors();
281 void SetBlockColor(
const char*,
double,
double,
double);
282 void RemoveAllBlockColors();
289 void SetBlockOpacity(
const char*,
double);
290 void RemoveAllBlockOpacities();
296 const char* GetColorArrayName();
305 static bool GetBounds(
313 virtual void SetEnableScaling(
int v);
314 virtual void SetScalingArrayName(
const char*);
321 virtual void SetMaterial(
const char*);
330 vtkSetMacro(UseDataPartitions,
bool);
331 vtkGetMacro(UseDataPartitions,
bool);
338 virtual void SetUseShaderReplacements(
bool);
339 vtkGetMacro(UseShaderReplacements,
bool);
347 virtual void SetShaderReplacements(
const char*);
353 void SetArrayIdNames(
const char* pointArray,
const char* cellArray)
override;
365 virtual void SetupDefaults();
407 virtual void UpdateColoringParameters();
415 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
430 void ComputeVisibleDataBounds();
435 void UpdateShaderReplacements();
443 virtual bool NeedsOrderedCompositing();
448 virtual void SetPointArrayToProcess(
int p,
const char* val);
460 char* ActiveAssembly =
nullptr;
470 double VisibleDataBounds[6];
481 bool BlockAttrChanged =
false;
483 bool UpdateBlockAttrLOD =
false;