VTK  9.2.5
vtkAbstractMapper3D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAbstractMapper3D.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 vtkAbstractMapper3D_h
36#define vtkAbstractMapper3D_h
37
38#include "vtkAbstractMapper.h"
39#include "vtkRenderingCoreModule.h" // For export macro
40
41class vtkWindow;
42class vtkDataSet;
43class vtkMatrix4x4;
44
45class VTKRENDERINGCORE_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper
46{
47public:
49 void PrintSelf(ostream& os, vtkIndent indent) override;
50
56 virtual double* GetBounds() VTK_SIZEHINT(6) = 0;
57
61 virtual void GetBounds(double bounds[6]);
62
64
67 double* GetCenter() VTK_SIZEHINT(3);
68 void GetCenter(double center[3])
69 {
70 double* rc = this->GetCenter();
71 center[0] = rc[0];
72 center[1] = rc[1];
73 center[2] = rc[2];
74 }
76
80 double GetLength();
81
86 virtual vtkTypeBool IsARayCastMapper() { return 0; }
87
92 virtual vtkTypeBool IsARenderIntoImageMapper() { return 0; }
93
98 void GetClippingPlaneInDataCoords(vtkMatrix4x4* propMatrix, int i, double planeEquation[4]);
99
100protected:
102 ~vtkAbstractMapper3D() override = default;
103
104 double Bounds[6];
105 double Center[3];
106
107private:
109 void operator=(const vtkAbstractMapper3D&) = delete;
110};
111
112#endif
abstract class specifies interface to map 3D data
virtual double * GetBounds()=0
Return bounding box (array of six doubles) of data expressed as (xmin,xmax, ymin,ymax,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkAbstractMapper3D() override=default
void GetClippingPlaneInDataCoords(vtkMatrix4x4 *propMatrix, int i, double planeEquation[4])
Get the ith clipping plane as a homogeneous plane equation.
virtual vtkTypeBool IsARayCastMapper()
Is this a ray cast mapper? A subclass would return 1 if the ray caster is needed to generate an image...
virtual vtkTypeBool IsARenderIntoImageMapper()
Is this a "render into image" mapper? A subclass would return 1 if the mapper produces an image by re...
double GetLength()
Return the diagonal length of this mappers bounding box.
abstract class specifies interface to map data
abstract class to specify dataset behavior
Definition: vtkDataSet.h:63
a simple class to control print indentation
Definition: vtkIndent.h:40
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_SIZEHINT(...)