VTK  9.0.3
vtkAbstractMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAbstractMapper.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 =========================================================================*/
28 #ifndef vtkAbstractMapper_h
29 #define vtkAbstractMapper_h
30 
31 #include "vtkAlgorithm.h"
32 #include "vtkRenderingCoreModule.h" // For export macro
33 
34 #define VTK_SCALAR_MODE_DEFAULT 0
35 #define VTK_SCALAR_MODE_USE_POINT_DATA 1
36 #define VTK_SCALAR_MODE_USE_CELL_DATA 2
37 #define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA 3
38 #define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA 4
39 #define VTK_SCALAR_MODE_USE_FIELD_DATA 5
40 
41 #define VTK_GET_ARRAY_BY_ID 0
42 #define VTK_GET_ARRAY_BY_NAME 1
43 
44 class vtkAbstractArray;
45 class vtkDataSet;
46 class vtkPlane;
47 class vtkPlaneCollection;
48 class vtkPlanes;
49 class vtkTimerLog;
50 class vtkWindow;
51 
52 class VTKRENDERINGCORE_EXPORT vtkAbstractMapper : public vtkAlgorithm
53 {
54 public:
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
61  vtkMTimeType GetMTime() override;
62 
69 
71 
74  vtkGetMacro(TimeToDraw, double);
76 
78 
82  void AddClippingPlane(vtkPlane* plane);
86 
88 
93  vtkGetObjectMacro(ClippingPlanes, vtkPlaneCollection);
95 
101 
105  virtual void ShallowCopy(vtkAbstractMapper* m);
106 
115  static vtkDataArray* GetScalars(vtkDataSet* input, int scalarMode, int arrayAccessMode,
116  int arrayId, const char* arrayName, int& cellFlag);
117 
127  static vtkAbstractArray* GetAbstractScalars(vtkDataSet* input, int scalarMode,
128  int arrayAccessMode, int arrayId, const char* arrayName, int& cellFlag);
129 
134 
135 protected:
137  ~vtkAbstractMapper() override;
138 
140  double TimeToDraw;
141  vtkWindow* LastWindow; // Window used for the previous render
143 
144 private:
145  vtkAbstractMapper(const vtkAbstractMapper&) = delete;
146  void operator=(const vtkAbstractMapper&) = delete;
147 };
148 
149 #endif
Abstract superclass for all arrays.
abstract class specifies interface to map data
virtual void ReleaseGraphicsResources(vtkWindow *)
Release any graphics resources that are being consumed by this mapper.
void RemoveAllClippingPlanes()
vtkMTimeType GetMTime() override
Override Modifiedtime as we have added Clipping planes.
int GetNumberOfClippingPlanes()
Get the number of clipping planes.
static vtkDataArray * GetScalars(vtkDataSet *input, int scalarMode, int arrayAccessMode, int arrayId, const char *arrayName, int &cellFlag)
Internal helper function for getting the active scalars.
static vtkAbstractArray * GetAbstractScalars(vtkDataSet *input, int scalarMode, int arrayAccessMode, int arrayId, const char *arrayName, int &cellFlag)
Internal helper function for getting the active scalars as an abstract array.
~vtkAbstractMapper() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetClippingPlanes(vtkPlanes *planes)
An alternative way to set clipping planes: use up to six planes found in the supplied instance of the...
void AddClippingPlane(vtkPlane *plane)
Specify clipping planes to be applied when the data is mapped (at most 6 clipping planes can be speci...
virtual void ShallowCopy(vtkAbstractMapper *m)
Make a shallow copy of this mapper.
vtkPlaneCollection * ClippingPlanes
virtual void SetClippingPlanes(vtkPlaneCollection *)
Get/Set the vtkPlaneCollection which specifies the clipping planes.
void RemoveClippingPlane(vtkPlane *plane)
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:63
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
abstract class to specify dataset behavior
Definition: vtkDataSet.h:57
a simple class to control print indentation
Definition: vtkIndent.h:34
maintain a list of planes
perform various plane computations
Definition: vtkPlane.h:32
implicit function for convex set of planes
Definition: vtkPlanes.h:50
Timer support and logging.
Definition: vtkTimerLog.h:91
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293