VTK  9.3.1
vtkPolyDataMapper2D.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
27 #ifndef vtkPolyDataMapper2D_h
28 #define vtkPolyDataMapper2D_h
29 
30 #include "vtkMapper2D.h"
31 #include "vtkRenderingCoreModule.h" // For export macro
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 class vtkCoordinate;
35 class vtkPolyData;
36 class vtkScalarsToColors;
38 
39 class VTKRENDERINGCORE_EXPORT vtkPolyDataMapper2D : public vtkMapper2D
40 {
41 public:
43  static vtkPolyDataMapper2D* New();
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
47 
50  void SetInputData(vtkPolyData* in);
51  vtkPolyData* GetInput();
53 
55 
58  void SetLookupTable(vtkScalarsToColors* lut);
59  vtkScalarsToColors* GetLookupTable();
61 
66  virtual void CreateDefaultLookupTable();
67 
69 
72  vtkSetMacro(ScalarVisibility, vtkTypeBool);
73  vtkGetMacro(ScalarVisibility, vtkTypeBool);
74  vtkBooleanMacro(ScalarVisibility, vtkTypeBool);
76 
78 
91  vtkSetMacro(ColorMode, int);
92  vtkGetMacro(ColorMode, int);
93  void SetColorModeToDefault();
94  void SetColorModeToMapScalars();
95  void SetColorModeToDirectScalars();
97 
101  const char* GetColorModeAsString();
102 
104 
112  vtkSetMacro(UseLookupTableScalarRange, vtkTypeBool);
113  vtkGetMacro(UseLookupTableScalarRange, vtkTypeBool);
114  vtkBooleanMacro(UseLookupTableScalarRange, vtkTypeBool);
116 
118 
123  vtkSetVector2Macro(ScalarRange, double);
124  vtkGetVectorMacro(ScalarRange, double, 2);
126 
128 
140  vtkSetMacro(ScalarMode, int);
141  vtkGetMacro(ScalarMode, int);
142  void SetScalarModeToDefault() { this->SetScalarMode(VTK_SCALAR_MODE_DEFAULT); }
146  {
147  this->SetScalarMode(VTK_SCALAR_MODE_USE_POINT_FIELD_DATA);
148  }
150  {
151  this->SetScalarMode(VTK_SCALAR_MODE_USE_CELL_FIELD_DATA);
152  }
154 
156 
159  void ColorByArrayComponent(int arrayNum, int component);
160  void ColorByArrayComponent(const char* arrayName, int component);
162 
166  const char* GetArrayName() { return this->ArrayName; }
167  int GetArrayId() { return this->ArrayId; }
168  int GetArrayAccessMode() { return this->ArrayAccessMode; }
169  int GetArrayComponent() { return this->ArrayComponent; }
170 
175  vtkMTimeType GetMTime() override;
176 
178 
184  virtual void SetTransformCoordinate(vtkCoordinate*);
185  vtkGetObjectMacro(TransformCoordinate, vtkCoordinate);
187 
189 
193  vtkGetMacro(TransformCoordinateUseDouble, bool);
194  vtkSetMacro(TransformCoordinateUseDouble, bool);
195  vtkBooleanMacro(TransformCoordinateUseDouble, bool);
197 
205  vtkUnsignedCharArray* MapScalars(double alpha);
206 
210  void ShallowCopy(vtkAbstractMapper* m) override;
211 
212 protected:
214  ~vtkPolyDataMapper2D() override;
215 
216  int FillInputPortInformation(int, vtkInformation*) override;
217 
219 
223  double ScalarRange[2];
227 
230 
231  // for coloring by a component of a field data array
232  int ArrayId;
233  char ArrayName[256];
236 
237 private:
238  vtkPolyDataMapper2D(const vtkPolyDataMapper2D&) = delete;
239  void operator=(const vtkPolyDataMapper2D&) = delete;
240 };
241 
242 VTK_ABI_NAMESPACE_END
243 #endif
const char * GetArrayName()
Get the array name or number and component to color by.
#define VTK_SCALAR_MODE_USE_CELL_FIELD_DATA
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
vtkMTimeType GetMTime() override
Override Modifiedtime as we have added Clipping planes.
record modification and/or execution time
Definition: vtkTimeStamp.h:24
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
void SetScalarModeToUseCellFieldData()
Control how the filter works with scalar point data and cell attribute data.
int vtkTypeBool
Definition: vtkABI.h:64
Superclass for mapping scalar values to colors.
void SetScalarModeToUseCellData()
Control how the filter works with scalar point data and cell attribute data.
#define VTK_SCALAR_MODE_USE_POINT_DATA
vtkScalarsToColors * LookupTable
a simple class to control print indentation
Definition: vtkIndent.h:28
#define VTK_SCALAR_MODE_USE_POINT_FIELD_DATA
virtual void ShallowCopy(vtkAbstractMapper *m)
Make a shallow copy of this mapper.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkCoordinate * TransformCoordinate
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems ...
Definition: vtkCoordinate.h:68
dynamic, self-adjusting array of unsigned char
abstract class specifies interface to map data
void SetScalarModeToUsePointFieldData()
Control how the filter works with scalar point data and cell attribute data.
static vtkAlgorithm * New()
#define VTK_SCALAR_MODE_USE_CELL_DATA
void SetScalarModeToDefault()
Control how the filter works with scalar point data and cell attribute data.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class specifies interface for objects which render 2D actors
Definition: vtkMapper2D.h:24
draw vtkPolyData onto the image plane
#define VTK_SCALAR_MODE_DEFAULT
vtkUnsignedCharArray * Colors
void SetScalarModeToUsePointData()
Control how the filter works with scalar point data and cell attribute data.
vtkTypeBool UseLookupTableScalarRange