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 
69 
71 
76  bool HasOpaqueGeometry() override;
79 
80 protected:
83 
90 
95 
101 
106 
111 
116 
122  vtkCompositePolyDataMapperInternals* Internal;
123 
129 
130 private:
132  void operator=(const vtkCompositePolyDataMapper&) = delete;
133 };
134 
135 #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:161
a class that renders hierarchical polygonal data
void BuildPolyDataMapper()
This is the build method for creating the internal polydata mapper that do the actual work.
virtual vtkPolyDataMapper * MakeAMapper()
BuildPolyDataMapper uses this for each mapper.
vtkExecutive * CreateDefaultExecutive() override
We need to override this method because the standard streaming demand driven pipeline is not what we ...
void Render(vtkRenderer *ren, vtkActor *a) override
Standard method for rendering a mapper.
vtkCompositePolyDataMapperInternals * Internal
These are the internal polydata mapper that do the rendering.
vtkTimeStamp InternalMappersBuildTime
Time stamp for when we need to update the internal mappers.
void ComputeBounds()
Need to loop over the hierarchy to compute bounds.
void ReleaseGraphicsResources(vtkWindow *) override
Release the underlying resources associated with this mapper.
static vtkCompositePolyDataMapper * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkCompositePolyDataMapper() override
bool HasTranslucentPolygonalGeometry() override
Some introspection on the type of data the mapper will render used by props to determine if they shou...
bool HasOpaqueGeometry() override
Some introspection on the type of data the mapper will render used by props to determine if they shou...
int FillInputPortInformation(int port, vtkInformation *info) override
Need to define the type of data handled by this mapper.
vtkTimeStamp BoundsMTime
Time stamp for computation of bounds.
double * GetBounds() override
Standard vtkProp method to get 3D bounds of a 3D prop.
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:79
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
abstract specification for renderers
Definition: vtkRenderer.h:182
record modification and/or execution time
Definition: vtkTimeStamp.h:55
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
void GetBounds(T a, double bds[6])
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
#define VTK_SIZEHINT(...)