28 #ifndef vtkGeometryRepresentation_h 29 #define vtkGeometryRepresentation_h 31 #include <unordered_map> 35 #include "vtkRemotingViewsModule.h" 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 vtkSetClampMacro(Representation,
int, POINTS, SURFACE_WITH_EDGES);
121 vtkGetMacro(Representation,
int);
128 virtual void SetRepresentation(
const char*);
141 vtkSetMacro(RequestGhostCellsIfNeeded,
bool);
142 vtkGetMacro(RequestGhostCellsIfNeeded,
bool);
143 vtkBooleanMacro(RequestGhostCellsIfNeeded,
bool);
148 virtual void SetUseOutline(
int);
149 void SetTriangulate(
int);
150 void SetNonlinearSubdivisionLevel(
int);
151 virtual void SetGenerateFeatureEdges(
bool);
155 virtual void SetAmbientColor(
double r,
double g,
double b);
156 virtual void SetColor(
double r,
double g,
double b);
157 virtual void SetDiffuseColor(
double r,
double g,
double b);
158 virtual void SetEdgeColor(
double r,
double g,
double b);
159 virtual void SetInterpolation(
int val);
160 virtual void SetLineWidth(
double val);
161 virtual void SetOpacity(
double val);
162 virtual void SetPointSize(
double val);
163 virtual void SetSpecularColor(
double r,
double g,
double b);
164 virtual void SetSpecularPower(
double val);
165 virtual void SetLuminosity(
double val);
166 virtual void SetRenderPointsAsSpheres(
bool);
167 virtual void SetRenderLinesAsTubes(
bool);
168 virtual void SetRoughness(
double val);
169 virtual void SetMetallic(
double val);
170 virtual void SetBaseColorTexture(
vtkTexture* tex);
171 virtual void SetMaterialTexture(
vtkTexture* tex);
172 virtual void SetNormalTexture(
vtkTexture* tex);
173 virtual void SetEmissiveTexture(
vtkTexture* tex);
174 virtual void SetNormalScale(
double val);
175 virtual void SetOcclusionStrength(
double val);
176 virtual void SetEmissiveFactor(
double rval,
double gval,
double bval);
180 virtual void SetOrientation(
double,
double,
double);
181 virtual void SetOrigin(
double,
double,
double);
182 virtual void SetPickable(
int val);
183 virtual void SetPosition(
double,
double,
double);
184 virtual void SetScale(
double,
double,
double);
186 virtual void SetUserTransform(
const double[16]);
187 virtual void SetFlipTextures(
bool);
191 virtual void SetRepeatTextures(
bool);
192 vtkGetMacro(RepeatTextures,
bool);
193 virtual void SetInterpolateTextures(
bool);
194 vtkGetMacro(InterpolateTextures,
bool);
195 virtual void SetUseMipmapTextures(
bool);
196 vtkGetMacro(UseMipmapTextures,
bool);
200 virtual void SetInterpolateScalarsBeforeMapping(
int val);
202 virtual void SetSeamlessU(
bool);
203 virtual void SetSeamlessV(
bool);
212 virtual void SetMapScalars(
int val);
213 virtual void SetStatic(
int val);
225 virtual void SetBlockVisibility(
unsigned int index,
bool visible);
226 virtual bool GetBlockVisibility(
unsigned int index)
const;
227 virtual void RemoveBlockVisibility(
unsigned int index,
bool =
true);
228 virtual void RemoveBlockVisibilities();
235 virtual void SetBlockColor(
unsigned int index,
double r,
double g,
double b);
236 virtual void SetBlockColor(
unsigned int index,
double* color);
237 virtual double* GetBlockColor(
unsigned int index);
238 virtual void RemoveBlockColor(
unsigned int index);
239 virtual void RemoveBlockColors();
246 virtual void SetBlockOpacity(
unsigned int index,
double opacity);
247 virtual void SetBlockOpacity(
unsigned int index,
double* opacity);
248 virtual double GetBlockOpacity(
unsigned int index);
249 virtual void RemoveBlockOpacity(
unsigned int index);
250 virtual void RemoveBlockOpacities();
256 const char* GetColorArrayName();
265 static bool GetBounds(
273 virtual void SetEnableScaling(
int v);
274 virtual void SetScalingArrayName(
const char*);
281 virtual void SetMaterial(
const char*);
290 vtkSetMacro(UseDataPartitions,
bool);
291 vtkGetMacro(UseDataPartitions,
bool);
298 virtual void SetUseShaderReplacements(
bool);
299 vtkGetMacro(UseShaderReplacements,
bool);
307 virtual void SetShaderReplacements(
const char*);
313 virtual void SetArrayIdNames(
const char* pointArray,
const char* cellArray);
325 virtual void SetupDefaults();
367 virtual void UpdateColoringParameters();
375 void HandleGeometryRepresentationProgress(
vtkObject* caller,
unsigned long,
void*);
384 void UpdateBlockAttributes(
vtkMapper* mapper);
390 void ComputeVisibleDataBounds();
395 void UpdateShaderReplacements();
403 virtual bool NeedsOrderedCompositing();
424 double VisibleDataBounds[6];
435 bool BlockAttrChanged =
false;
437 bool UpdateBlockAttrLOD =
false;
440 std::unordered_map<unsigned int, std::array<double, 3> >
BlockColors;
vtkGeometryRepresentation_detail::DecimationFilterType * Decimator
virtual vtkDataObject * GetRenderedDataObject(int vtkNotUsed(port))
Returns the data object that is rendered from the given input port.
std::string ShaderReplacementsString
vtkAlgorithm * MultiBlockMaker
virtual vtkPVLODActor * GetRenderedProp()
Used in ConvertSelection to locate the prop used for actual rendering.
vtkPVDataRepresentation adds some ParaView specific API to data representations.
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkPVLODActor * GetActor()
Provides access to the actor used by this representation.
bool AddToView(vtkView *view) override
Making these methods public.
Geometry filter that does outlines for volumes.
virtual void SetVisibility(bool val)
Get/Set the visibility for this representation.
std::unordered_map< unsigned int, bool > BlockVisibilities
representation for showing any datasets as external shell of polygons.
virtual int ProcessViewRequest(vtkInformationRequestKey *request_type, vtkInformation *inInfo, vtkInformation *outInfo)
vtkAlgorithm::ProcessRequest() equivalent for rendering passes.
std::unordered_map< unsigned int, std::array< double, 3 > > BlockColors
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Overridden to invoke vtkCommand::UpdateDataEvent.
vtkPVGeometryFilter * LODOutlineFilter
vtkTimeStamp VisibleDataBoundsTime
bool RemoveFromView(vtkView *view) override
Making these methods public.
bool RequestGhostCellsIfNeeded
vtkAlgorithm * GeometryFilter
std::unordered_map< unsigned int, double > BlockOpacities
vtkPiecewiseFunction * PWF
static vtkDataRepresentation * New()
an actor that supports multiple levels of detail
void PrintSelf(ostream &os, vtkIndent indent) override
bool UseShaderReplacements
vtkTimeStamp BlockAttributeTime
virtual void SetSuppressLOD(bool suppress)
Enable/Disable LOD;.