VTK  9.5.2
vtkCompositeCellGridMapper.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
18
19#ifndef vtkCompositeCellGridMapper_h
20#define vtkCompositeCellGridMapper_h
21
22#include "vtkMapper.h"
23
24#include "vtkCompositeDataDisplayAttributes.h" // for ivar
25#include "vtkRenderingCoreModule.h" // For export macro.
26#include "vtkSmartPointer.h" // for ivar
27#include "vtkStateStorage.h" // for ivar
28#include "vtkStringToken.h" // For ivars
29
30#include <memory> // for ivar
31
32VTK_ABI_NAMESPACE_BEGIN
34class vtkInformation;
35class vtkRenderer;
36class vtkActor;
37
38class VTKRENDERINGCORE_EXPORT vtkCompositeCellGridMapper : public vtkMapper
39{
40
41public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
45
50 void Render(vtkRenderer* ren, vtkActor* a) override;
51
53
56 double* GetBounds() VTK_SIZEHINT(6) override;
57 void GetBounds(double bounds[6]) override { this->Superclass::GetBounds(bounds); }
59
64
66
71 bool HasOpaqueGeometry() override;
72 bool RecursiveHasTranslucentGeometry(vtkDataObject* dobj, unsigned int& flat_index);
75
88
93 void SetProcessIdArrayName(const char*) {}
94 void SetCompositeIdArrayName(const char*) {}
95 void SetPointIdArrayName(const char*) {}
96 void SetCellIdArrayName(const char*) {}
97
109
112
113protected:
116
123
127 int FillInputPortInformation(int port, vtkInformation* info) override;
128
134 vtkRenderer* renderer, vtkActor* actor, vtkDataObject* dobj, unsigned int& flatIndex);
135
140
145
150
151 // State at the time translucent tests were performed.
153 // State at the time render values were built.
155 // Temporary state used for comparisons against above states.
157 // Cached result of HasTranslucentPolygonalGeometry
159
166
167private:
169 void operator=(const vtkCompositeCellGridMapper&) = delete;
170
171 class vtkInternals;
172 std::unique_ptr<vtkInternals> Internals;
173};
174
175VTK_ABI_NAMESPACE_END
176#endif
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:42
map a vtkCellGrid to graphics primitives.
vtkTimeStamp BoundsMTime
Time stamp for computation of bounds.
void BuildRenderValues(vtkRenderer *renderer, vtkActor *actor, vtkDataObject *dobj, unsigned int &flatIndex)
This is the build method for creating the internal polydata mapper that do the actual work.
vtkGetStringTokenMacro(PointIdAttributeName)
vtkGetStringTokenMacro(ProcessIdAttributeName)
vtkSmartPointer< vtkCompositeDataDisplayAttributes > CompositeDataDisplayAttributes
bool HasOpaqueGeometry() override
Some introspection on the type of data the mapper will render used by props to determine if they shou...
virtual void SetCompositeDataDisplayAttributes(vtkCompositeDataDisplayAttributes *)
void ReleaseGraphicsResources(vtkWindow *) override
Release the underlying resources associated with this mapper.
static vtkCompositeCellGridMapper * New()
vtkMTimeType GetMTime() override
Account for mtime of vtkCompositeDataDisplayAttributes.
void SetProcessIdArrayName(const char *)
FIXME: These are temporary.
bool HasTranslucentPolygonalGeometry() override
Some introspection on the type of data the mapper will render used by props to determine if they shou...
vtkSetStringTokenMacro(CellIdAttributeName)
Set/get the name of the cell ID attribute used during selection.
vtkSetStringTokenMacro(PointIdAttributeName)
Set/get the name of the point ID attribute used during selection.
vtkStringToken ProcessIdAttributeName
Names of attributes.
~vtkCompositeCellGridMapper() override
vtkSetStringTokenMacro(ProcessIdAttributeName)
Set/get the name of the process ID attribute used during selection.
double * GetBounds() override
Standard vtkProp method to get 3D bounds of a 3D prop.
vtkGetStringTokenMacro(CompositeIdAttributeName)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkExecutive * CreateDefaultExecutive() override
We need to override this method because the standard streaming demand driven pipeline is not what we ...
virtual vtkCellGridMapper * MakeAMapper()
BuildRenderValues uses this for each mapper.
void ComputeBounds()
Need to loop over the hierarchy to compute bounds.
vtkSetStringTokenMacro(CompositeIdAttributeName)
Set/get the name of the composite ID attribute used during selection.
bool RecursiveHasTranslucentGeometry(vtkDataObject *dobj, unsigned int &flat_index)
Some introspection on the type of data the mapper will render used by props to determine if they shou...
vtkGetStringTokenMacro(CellIdAttributeName)
void Render(vtkRenderer *ren, vtkActor *a) override
Standard method for rendering a mapper.
int FillInputPortInformation(int port, vtkInformation *info) override
Need to define the type of data handled by this mapper.
Rendering attributes for a multi-block dataset.
general representation of visualization data
Superclass for all pipeline executives in VTK.
a simple class to control print indentation
Definition vtkIndent.h:29
Store vtkAlgorithm input/output information.
abstract specification for renderers
Definition vtkRenderer.h:60
Hold a reference to a vtkObjectBase instance.
Class to make storing and comparing state quick and easy.
Represent a string by its integer hash.
record modification and/or execution time
window superclass for vtkRenderWindow
Definition vtkWindow.h:26
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_SIZEHINT(...)