VTK  9.2.5
vtkHyperTreeGridMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTreeGridMapper.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
35 #ifndef vtkHyperTreeGridMapper_h
36 #define vtkHyperTreeGridMapper_h
37 
38 #include "vtkMapper.h"
39 #include "vtkSetGet.h" // Get macro
40 #include "vtkSmartPointer.h" // For vtkSmartPointer
41 
42 #include "vtkRenderingHyperTreeGridModule.h" // For export macro
43 
44 class vtkHyperTreeGrid;
46 class vtkPolyData;
47 class vtkPolyDataMapper;
48 class vtkRenderWindow;
49 class vtkRenderer;
50 
51 class VTKRENDERINGHYPERTREEGRID_EXPORT vtkHyperTreeGridMapper : public vtkMapper
52 {
53 public:
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
71  void SetInputDataObject(int port, vtkDataObject* input) override;
72  void SetInputDataObject(vtkDataObject* input) override;
74 
76 
81  double* GetBounds() override;
82  void GetBounds(double bounds[6]) override;
84 
86 
91  vtkGetMacro(UseAdaptiveDecimation, bool);
92  vtkSetMacro(UseAdaptiveDecimation, bool);
93  vtkBooleanMacro(UseAdaptiveDecimation, bool);
95 
102  void Render(vtkRenderer* ren, vtkActor* act) override;
103 
110 
111 protected:
114 
119  vtkCompositeDataSet* htg, vtkRenderer* ren);
120 
121  // In 2D mode, these variables control the mapper oprimisations
122  bool UseAdaptiveDecimation = false;
123 
124  // render the extracted surface,
125  // need to be created in device specific subclass
127 
128  // Internal object to render
130 
131 private:
133  void operator=(const vtkHyperTreeGridMapper&) = delete;
134 };
135 
136 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:161
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
abstract superclass for composite (multi-block or AMR) datasets
general representation of visualization data
map vtkHyperTreeGrid to graphics primitives
void SetInputDataObject(int port, vtkDataObject *input) override
Sets the data-object as an input on the given port index.
static vtkHyperTreeGridMapper * New()
void SetInputDataObject(vtkDataObject *input) override
vtkSmartPointer< vtkCompositeDataSet > UpdateWithDecimation(vtkCompositeDataSet *htg, vtkRenderer *ren)
Generate a new composite were each leave is decimated if required.
double * GetBounds() override
For this mapper, the bounds correspond to the output for the internal surface filter which may be res...
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkSmartPointer< vtkPolyDataMapper > Mapper
void GetBounds(double bounds[6]) override
Get the bounds for this mapper as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
void Render(vtkRenderer *ren, vtkActor *act) override
Use the internal PolyData Mapper to do the rendering of the HTG transformed by the current SurfaceFil...
~vtkHyperTreeGridMapper() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkCompositeDataSet > Input
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Definition: vtkIndent.h:119
Store vtkAlgorithm input/output information.
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:177
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:200
create a window for renderers to draw into
abstract specification for renderers
Definition: vtkRenderer.h:182
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453