22 #ifndef vtkCompositePolyDataMapper_h
23 #define vtkCompositePolyDataMapper_h
28 #include "vtkRenderingCoreModule.h"
35 VTK_ABI_NAMESPACE_BEGIN
98 void SetBlockVisibility(
unsigned int index,
bool visible);
99 bool GetBlockVisibility(
unsigned int index);
100 void RemoveBlockVisibility(
unsigned int index);
101 void RemoveBlockVisibilities();
108 void SetBlockColor(
unsigned int index,
const double color[3]);
111 double color[3] = { r, g, b };
112 this->SetBlockColor(index, color);
115 double* GetBlockColor(
unsigned int index);
116 void GetBlockColor(
unsigned int index,
double color[3]);
117 void RemoveBlockColor(
unsigned int index);
118 void RemoveBlockColors();
125 void SetBlockOpacity(
unsigned int index,
double opacity);
126 double GetBlockOpacity(
unsigned int index);
127 void RemoveBlockOpacity(
unsigned int index);
128 void RemoveBlockOpacities();
135 void SetBlockScalarMode(
unsigned int index,
int value);
136 int GetBlockScalarMode(
unsigned int index);
137 void RemoveBlockScalarMode(
unsigned int index);
138 void RemoveBlockScalarModes();
145 void SetBlockArrayAccessMode(
unsigned int index,
int value);
146 int GetBlockArrayAccessMode(
unsigned int index);
147 void RemoveBlockArrayAccessMode(
unsigned int index);
148 void RemoveBlockArrayAccessModes();
155 void SetBlockArrayComponent(
unsigned int index,
int value);
156 int GetBlockArrayComponent(
unsigned int index);
157 void RemoveBlockArrayComponent(
unsigned int index);
158 void RemoveBlockArrayComponents();
165 void SetBlockArrayId(
unsigned int index,
int value);
166 int GetBlockArrayId(
unsigned int index);
167 void RemoveBlockArrayId(
unsigned int index);
168 void RemoveBlockArrayIds();
175 void SetBlockArrayName(
unsigned int index, const
std::
string& value);
176 std::
string GetBlockArrayName(
unsigned int index);
177 void RemoveBlockArrayName(
unsigned int index);
178 void RemoveBlockArrayNames();
185 void SetBlockFieldDataTupleId(
unsigned int index,
vtkIdType value);
186 vtkIdType GetBlockFieldDataTupleId(
unsigned int index);
187 void RemoveBlockFieldDataTupleId(
unsigned int index);
188 void RemoveBlockFieldDataTupleIds();
198 vtkSetMacro(ColorMissingArraysWithNanColor,
bool);
199 vtkGetMacro(ColorMissingArraysWithNanColor,
bool);
200 vtkBooleanMacro(ColorMissingArraysWithNanColor,
bool);
208 void SetInputArrayToProcess(
209 int idx,
int port,
int connection,
int fieldAssociation, const
char*
name) override;
210 void SetInputArrayToProcess(
211 int idx,
int port,
int connection,
int fieldAssociation,
int fieldAttributeType) override;
224 void ProcessSelectorPixelBuffers(
230 void SetVBOShiftScaleMethod(
int method) override;
237 void SetPauseShiftScale(
bool pauseShiftScale) override;
251 vtkSetStringMacro(PointIdArrayName);
252 vtkGetStringMacro(PointIdArrayName);
253 vtkSetStringMacro(CellIdArrayName);
254 vtkGetStringMacro(CellIdArrayName);
263 vtkSetStringMacro(ProcessIdArrayName);
264 vtkGetStringMacro(ProcessIdArrayName);
277 vtkSetStringMacro(CompositeIdArrayName);
278 vtkGetStringMacro(CompositeIdArrayName);
283 ~vtkCompositePolyDataMapper() override;
285 MapperHashType InsertPolyData(
vtkPolyData* polydata, const
unsigned int& flatIndex);
342 bool RecursiveHasTranslucentGeometry(
vtkDataObject* dobj,
unsigned int& flat_index);
344 void BuildRenderValues(
363 bool ColorMissingArraysWithNanColor =
false;
371 char* PointIdArrayName =
nullptr;
372 char* CellIdArrayName =
nullptr;
373 char* ProcessIdArrayName =
nullptr;
374 char* CompositeIdArrayName =
nullptr;
377 bool HasTranslucentGeometry =
false;
386 std::array<double, 3> ColorResult = {};
389 std::unique_ptr<vtkInternals> Internals;
392 VTK_ABI_NAMESPACE_END
vtkStateStorage RenderValuesState
abstract superclass for all actors, volumes and annotations
void SetBlockColor(unsigned int index, double r, double g, double b)
Set/get the color for a block given its flat index.
void GetBounds(T a, double bds[6])
void ShallowCopy(vtkAbstractMapper *m) override
Make a shallow copy of this mapper.
represents an object (geometry & properties) in a rendered scene
virtual MapperHashType GenerateHash(vtkPolyData *)
This hash integer is computed by concrete graphics implementation of this class.
vtkTypeUInt32 vtkMTimeType
record modification and/or execution time
vtkStateStorage TempState
Rendering attributes for a multi-block dataset.
virtual bool HasOpaqueGeometry()
Some introspection on the type of data the mapper will render used by props to determine if they shou...
vtkNew< vtkPolyDataMapper > PrototypeMapper
A prototype of the object factory override mapper.
vtkTimeStamp BoundsMTime
Time stamp for computation of bounds.
virtual bool HasTranslucentPolygonalGeometry()
Some introspection on the type of data the mapper will render used by props to determine if they shou...
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
concrete dataset represents vertices, lines, polygons, and triangle strips
Superclass for all pipeline executives in VTK.
window superclass for vtkRenderWindow
#define VTK_DEPRECATED_IN_9_3_0(reason)
Delegates rendering of multiple polydata that share similar signatures.
Superclass for all sources, filters, and sinks in VTK.
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
abstract superclass for composite (multi-block or AMR) datasets
std::uintptr_t MapperHashType
vtkTimeStamp DelegatorMTime
a simple class to control print indentation
vtkSmartPointer< vtkCompositeDataDisplayAttributes > CompositeAttributes
Composite data set attributes.
virtual void PostRender(const std::vector< vtkSmartPointer< vtkCompositePolyDataMapperDelegator >> &, vtkRenderer *, vtkActor *)
Invoked just after all delegators render their datasets.
void Render(vtkRenderer *ren, vtkActor *act) override
This calls RenderPiece (in a for loop if streaming is necessary).
#define VTK_SIZEHINT(...)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void ComputeBounds()
Called in GetBounds().
abstract class specifies interface to map data
map vtkPolyData to graphics primitives
vtkStateStorage TranslucentState
static vtkPolyDataMapper * New()
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
superclass for composite data iterators
general representation of visualization data
Class to make storing and comparing state quick and easy.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
a class that renders hierarchical polygonal data