VTK  9.3.1
vtkHyperTreeGridMapper.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
23 #ifndef vtkHyperTreeGridMapper_h
24 #define vtkHyperTreeGridMapper_h
25 
26 #include "vtkMapper.h"
27 #include "vtkSetGet.h" // Get macro
28 #include "vtkSmartPointer.h" // For vtkSmartPointer
29 
30 #include "vtkRenderingHyperTreeGridModule.h" // For export macro
31 
32 VTK_ABI_NAMESPACE_BEGIN
33 class vtkHyperTreeGrid;
35 class vtkPolyData;
36 class vtkPolyDataMapper;
37 class vtkRenderWindow;
38 class vtkRenderer;
39 
40 class VTKRENDERINGHYPERTREEGRID_EXPORT vtkHyperTreeGridMapper : public vtkMapper
41 {
42 public:
43  static vtkHyperTreeGridMapper* New();
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
48 
60  void SetInputDataObject(int port, vtkDataObject* input) override;
61  void SetInputDataObject(vtkDataObject* input) override;
63 
65 
70  double* GetBounds() override;
71  void GetBounds(double bounds[6]) override;
73 
75 
80  vtkGetMacro(UseAdaptiveDecimation, bool);
81  vtkSetMacro(UseAdaptiveDecimation, bool);
82  vtkBooleanMacro(UseAdaptiveDecimation, bool);
84 
91  void Render(vtkRenderer* ren, vtkActor* act) override;
92 
99 
100 protected:
102  ~vtkHyperTreeGridMapper() override;
103 
107  vtkSmartPointer<vtkCompositeDataSet> UpdateWithDecimation(
108  vtkCompositeDataSet* htg, vtkRenderer* ren);
109 
110  // In 2D mode, these variables control the mapper oprimisations
111  bool UseAdaptiveDecimation = false;
112 
113  // render the extracted surface,
114  // need to be created in device specific subclass
116 
117  // Internal object to render
119 
120 private:
122  void operator=(const vtkHyperTreeGridMapper&) = delete;
123 };
124 
125 VTK_ABI_NAMESPACE_END
126 #endif
vtkSmartPointer< vtkPolyDataMapper > Mapper
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:40
Store vtkAlgorithm input/output information.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
abstract specification for renderers
Definition: vtkRenderer.h:61
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
map vtkHyperTreeGrid to graphics primitives
virtual void SetInputDataObject(int port, vtkDataObject *data)
Sets the data-object as an input on the given port index.
abstract superclass for composite (multi-block or AMR) datasets
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:76
map vtkPolyData to graphics primitives
create a window for renderers to draw into
static vtkAlgorithm * New()
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
general representation of visualization data
Definition: vtkDataObject.h:54
virtual void Render(vtkRenderer *ren, vtkActor *a)=0
Method initiates the mapping process.
vtkSmartPointer< vtkCompositeDataSet > Input