VTK  9.0.1
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 =========================================================================*/
32 #ifndef vtkAbstractMapper3D_h
33 #define vtkAbstractMapper3D_h
34 
35 #include "vtkAbstractMapper.h"
36 #include "vtkRenderingCoreModule.h" // For export macro
37 
38 class vtkWindow;
39 class vtkDataSet;
40 class vtkMatrix4x4;
41 
42 class VTKRENDERINGCORE_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper
43 {
44 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
53  virtual double* GetBounds() VTK_SIZEHINT(6) = 0;
54 
58  virtual void GetBounds(double bounds[6]);
59 
61 
64  double* GetCenter() VTK_SIZEHINT(3);
65  void GetCenter(double center[3])
66  {
67  double* rc = this->GetCenter();
68  center[0] = rc[0];
69  center[1] = rc[1];
70  center[2] = rc[2];
71  }
73 
77  double GetLength();
78 
83  virtual vtkTypeBool IsARayCastMapper() { return 0; }
84 
89  virtual vtkTypeBool IsARenderIntoImageMapper() { return 0; }
90 
95  void GetClippingPlaneInDataCoords(vtkMatrix4x4* propMatrix, int i, double planeEquation[4]);
96 
97 protected:
99  ~vtkAbstractMapper3D() override {}
100 
101  double Bounds[6];
102  double Center[3];
103 
104 private:
105  vtkAbstractMapper3D(const vtkAbstractMapper3D&) = delete;
106  void operator=(const vtkAbstractMapper3D&) = delete;
107 };
108 
109 #endif
vtkAbstractMapper3D::~vtkAbstractMapper3D
~vtkAbstractMapper3D() override
Definition: vtkAbstractMapper3D.h:99
vtkX3D::center
@ center
Definition: vtkX3D.h:236
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkAbstractMapper3D::IsARayCastMapper
virtual vtkTypeBool IsARayCastMapper()
Is this a ray cast mapper? A subclass would return 1 if the ray caster is needed to generate an image...
Definition: vtkAbstractMapper3D.h:83
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:35
vtkAbstractMapper::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkAbstractMapper.h
vtkAbstractMapper3D
abstract class specifies interface to map 3D data
Definition: vtkAbstractMapper3D.h:42
vtkAbstractMapper3D::IsARenderIntoImageMapper
virtual vtkTypeBool IsARenderIntoImageMapper()
Is this a "render into image" mapper? A subclass would return 1 if the mapper produces an image by re...
Definition: vtkAbstractMapper3D.h:89
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkAbstractMapper
abstract class specifies interface to map data
Definition: vtkAbstractMapper.h:52