VTK  9.7.1
vtkAbstractMapper3D.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkAbstractMapper3D_h
24 #define vtkAbstractMapper3D_h
25 
26 #include "vtkAbstractMapper.h"
27 #include "vtkRenderingCoreModule.h" // For export macro
28 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
29 
30 VTK_ABI_NAMESPACE_BEGIN
31 class vtkWindow;
32 class vtkDataSet;
33 class vtkMatrix4x4;
34 
35 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkAbstractMapper3D : public vtkAbstractMapper
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
46  virtual double* GetBounds() VTK_SIZEHINT(6) = 0;
47 
51  virtual void GetBounds(double bounds[6]);
52 
54 
57  double* GetCenter() VTK_SIZEHINT(3);
58  void GetCenter(double center[3])
59  {
60  double* rc = this->GetCenter();
61  center[0] = rc[0];
62  center[1] = rc[1];
63  center[2] = rc[2];
64  }
66 
70  double GetLength();
71 
76  virtual vtkTypeBool IsARayCastMapper() { return 0; }
77 
82  virtual vtkTypeBool IsARenderIntoImageMapper() { return 0; }
83 
88  void GetClippingPlaneInDataCoords(vtkMatrix4x4* propMatrix, int i, double planeEquation[4]);
89 
90 protected:
92  ~vtkAbstractMapper3D() override = default;
93 
94  double Bounds[6];
95  double Center[3];
96 
97 private:
99  void operator=(const vtkAbstractMapper3D&) = delete;
100 };
101 
102 VTK_ABI_NAMESPACE_END
103 #endif
void GetBounds(T a, double bds[6])
virtual vtkTypeBool IsARenderIntoImageMapper()
Is this a "render into image" mapper? A subclass would return 1 if the mapper produces an image by re...
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:31
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
int vtkTypeBool
Definition: vtkABI.h:64
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class specifies interface to map 3D data
#define VTK_SIZEHINT(...)
virtual vtkTypeBool IsARayCastMapper()
Is this a ray cast mapper? A subclass would return 1 if the ray caster is needed to generate an image...
abstract class specifies interface to map data
#define VTK_MARSHALAUTO