VTK  9.2.6
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 =========================================================================*/
31 #ifndef vtkCompositePolyDataMapper_h
32 #define vtkCompositePolyDataMapper_h
33 
34 #include "vtkMapper.h"
35 #include "vtkRenderingCoreModule.h" // For export macro
36 
37 class vtkPolyDataMapper;
38 class vtkInformation;
39 class vtkRenderer;
40 class vtkActor;
41 class vtkCompositePolyDataMapperInternals;
42 
43 class VTKRENDERINGCORE_EXPORT vtkCompositePolyDataMapper : public vtkMapper
44 {
45 
46 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
55  void Render(vtkRenderer* ren, vtkActor* a) override;
56 
58 
61  double* GetBounds() VTK_SIZEHINT(6) override;
62  void GetBounds(double bounds[6]) override { this->Superclass::GetBounds(bounds); }
64 
68  void ReleaseGraphicsResources(vtkWindow*) override;
69 
71 
76  bool HasOpaqueGeometry() override;
77  bool HasTranslucentPolygonalGeometry() override;
79 
80 protected:
82  ~vtkCompositePolyDataMapper() override;
83 
90 
95 
100  void BuildPolyDataMapper();
101 
105  virtual vtkPolyDataMapper* MakeAMapper();
106 
110  void ComputeBounds();
111 
116 
122  vtkCompositePolyDataMapperInternals* Internal;
123 
129 
130 private:
132  void operator=(const vtkCompositePolyDataMapper&) = delete;
133 };
134 
135 #endif
void GetBounds(T a, double bds[6])
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
virtual vtkExecutive * CreateDefaultExecutive()
Create a default executive.
Store vtkAlgorithm input/output information.
record modification and/or execution time
Definition: vtkTimeStamp.h:35
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:72
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:49
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
a simple class to control print indentation
Definition: vtkIndent.h:39
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:87
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:115
a class that renders hierarchical polygonal data