VTK  9.0.1
vtkCompositePolyDataMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCompositePolyDataMapper.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 =========================================================================*/
28 #ifndef vtkCompositePolyDataMapper_h
29 #define vtkCompositePolyDataMapper_h
30 
31 #include "vtkMapper.h"
32 #include "vtkRenderingCoreModule.h" // For export macro
33 
34 class vtkPolyDataMapper;
35 class vtkInformation;
36 class vtkRenderer;
37 class vtkActor;
38 class vtkCompositePolyDataMapperInternals;
39 
40 class VTKRENDERINGCORE_EXPORT vtkCompositePolyDataMapper : public vtkMapper
41 {
42 
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
52  void Render(vtkRenderer* ren, vtkActor* a) override;
53 
55 
58  double* GetBounds() VTK_SIZEHINT(6) override;
59  void GetBounds(double bounds[6]) override { this->Superclass::GetBounds(bounds); }
61 
65  void ReleaseGraphicsResources(vtkWindow*) override;
66 
68 
73  bool HasOpaqueGeometry() override;
74  bool HasTranslucentPolygonalGeometry() override;
76 
77 protected:
79  ~vtkCompositePolyDataMapper() override;
80 
87 
92 
97  void BuildPolyDataMapper();
98 
102  virtual vtkPolyDataMapper* MakeAMapper();
103 
107  void ComputeBounds();
108 
113 
119  vtkCompositePolyDataMapperInternals* Internal;
120 
126 
127 private:
129  void operator=(const vtkCompositePolyDataMapper&) = delete;
130 };
131 
132 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:45
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
Store vtkAlgorithm input/output information.
record modification and/or execution time
Definition: vtkTimeStamp.h:32
virtual bool HasOpaqueGeometry()
Some introspection on the type of data the mapper will render used by props to determine if they shou...
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
Definition: vtkRenderer.h:67
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:46
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_SIZEHINT(...)
vtkCompositePolyDataMapperInternals * Internal
These are the internal polydata mapper that do the rendering.
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:80
map vtkPolyData to graphics primitives
static vtkAlgorithm * New()
double * GetBounds() override
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax, zmin,zmax).
vtkTimeStamp InternalMappersBuildTime
Time stamp for when we need to update the internal mappers.
virtual void Render(vtkRenderer *ren, vtkActor *a)=0
Method initiates the mapping process.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
Definition: vtkMapper.h:108
a class that renders hierarchical polygonal data