VTK  9.0.1
vtkScalarBarActorInternal.h
Go to the documentation of this file.
1 #ifndef vtkScalarBarActorInternal_h
2 #define vtkScalarBarActorInternal_h
3 
4 #ifndef __VTK_WRAP__
5 
6 #include "vtkColor.h" // for AnnotationColors, LabelColorMap, and tuples
7 #include "vtkRenderingAnnotationModule.h" // For export macro
8 #include "vtkSmartPointer.h" // for "smart vectors"
9 #include "vtkStdString.h" // for LabelMap
10 
11 #include <map>
12 #include <vector>
13 
14 class vtkActor2D;
15 class vtkCellArray;
16 class vtkTextActor;
17 class vtkPoints;
18 class vtkPolyData;
21 class vtkViewport;
22 
24 template <class T>
25 class VTKRENDERINGANNOTATION_EXPORT vtkSmartVector : public std::vector<vtkSmartPointer<T> >
26 {
27 public:
32  {
33  // NB: This is relatively evil. But much cheaper than copying the array.
34  // It assumes the compiler won't pad the class.
35  return reinterpret_cast<T**>(&((*this)[0]));
36  }
37 };
38 
41 {
44 
53 };
54 
56 class VTKRENDERINGANNOTATION_EXPORT vtkScalarBarActorInternal
57 {
58 public:
60  {
61  this->Viewport = nullptr;
62  this->SwatchColors = nullptr;
63  this->SwatchPts = nullptr;
64  this->Polys = nullptr;
65  this->AnnotationBoxes = nullptr;
66  this->AnnotationBoxesMapper = nullptr;
67  this->AnnotationBoxesActor = nullptr;
68  this->AnnotationLeaders = nullptr;
69  this->AnnotationLeadersMapper = nullptr;
70  this->AnnotationLeadersActor = nullptr;
71  this->NanSwatch = nullptr;
72  this->NanSwatchMapper = nullptr;
73  this->NanSwatchActor = nullptr;
74 
75  this->BelowRangeSwatch = nullptr;
76  this->BelowRangeSwatchMapper = nullptr;
77  this->BelowRangeSwatchActor = nullptr;
78 
79  this->AboveRangeSwatch = nullptr;
80  this->AboveRangeSwatchMapper = nullptr;
81  this->AboveRangeSwatchActor = nullptr;
82  }
83 
84  // Define types for smart vectors containing various base classes.
86 
87  // Other vector container types.
88  typedef std::vector<double> DoubleVector;
89  typedef std::vector<vtkColor3ub> ColorVector;
90 
97 
99  double NanSwatchSize;
100 
103 
106 
108  double SwatchPad;
109 
112  int NumNotes;
113 
117 
121 
124  int TL[2]; // VERTICAL => TL={0,1}, HORIZONTAL => TL={1,0}, Size[TL[0]] == width, Size[TL[1]] ==
125  // height
126 
129 
132 
135 
138 
141 
144 
147 
150 
154 
157 
159  std::map<double, vtkStdString> Labels;
160 
163  std::map<double, vtkColor3ub> LabelColors;
165 
167 
181 
185 
190 };
191 
192 #endif
193 
194 #endif // vtkScalarBarActorInternal_h
195 // VTK-HeaderTest-Exclude: vtkScalarBarActorInternal.h
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:33
vtkSmartVector::PointerArray
T ** PointerArray()
Convert to an array of "dumb" pointers for functions that need a contiguous array pointer as input.
Definition: vtkScalarBarActorInternal.h:31
vtkStdString.h
vtkScalarBarActorInternal::DoubleVector
std::vector< double > DoubleVector
Definition: vtkScalarBarActorInternal.h:88
vtkX3D::vector
@ vector
Definition: vtkX3D.h:243
vtkScalarBarActorInternal::vtkScalarBarActorInternal
vtkScalarBarActorInternal()
Definition: vtkScalarBarActorInternal.h:59
vtkSmartVector
A vector of smart pointers.
Definition: vtkScalarBarActorInternal.h:25
vtkScalarBarActorInternal::SwatchPad
double SwatchPad
Space in pixels between swatches when in indexed lookup mode.
Definition: vtkScalarBarActorInternal.h:108
vtkPolyDataMapper2D
draw vtkPolyData onto the image plane
Definition: vtkPolyDataMapper2D.h:44
vtkScalarBarActorInternal::AnnotationLeadersActor
vtkActor2D * AnnotationLeadersActor
Definition: vtkScalarBarActorInternal.h:174
vtkScalarBarActorInternal::AnnotationLeadersMapper
vtkPolyDataMapper2D * AnnotationLeadersMapper
Definition: vtkScalarBarActorInternal.h:173
vtkScalarBarActorInternal
Internal state for the scalar bar actor shared with subclasses.
Definition: vtkScalarBarActorInternal.h:56
vtkScalarBarActorInternal::ActorVector
vtkSmartVector< vtkTextActor > ActorVector
Definition: vtkScalarBarActorInternal.h:85
vtkScalarBarActorInternal::AboveRangeSwatchActor
vtkActor2D * AboveRangeSwatchActor
Definition: vtkScalarBarActorInternal.h:188
vtkScalarBarActorInternal::BelowRangeSwatchSize
double BelowRangeSwatchSize
The thickness and length of the (square) Below Range swatch.
Definition: vtkScalarBarActorInternal.h:102
vtkScalarBarActorInternal::ColorVector
std::vector< vtkColor3ub > ColorVector
Definition: vtkScalarBarActorInternal.h:89
vtkScalarBarActorInternal::NanBox
vtkScalarBarBox NanBox
The bounding box of the NaN swatch.
Definition: vtkScalarBarActorInternal.h:143
vtkScalarBarActorInternal::SwatchColors
vtkUnsignedCharArray * SwatchColors
Colors of swatches in Polys.
Definition: vtkScalarBarActorInternal.h:134
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:35
vtkScalarBarActorInternal::Viewport
vtkViewport * Viewport
Cache of dimensions fixed during geometry assembly.
Definition: vtkScalarBarActorInternal.h:96
vtkScalarBarActorInternal::BelowRangeSwatchMapper
vtkPolyDataMapper2D * BelowRangeSwatchMapper
Definition: vtkScalarBarActorInternal.h:183
vtkScalarBarBox
A structure to represent pixel coordinates for text or swatch bounds.
Definition: vtkScalarBarActorInternal.h:40
vtkScalarBarActorInternal::AboveRangeSwatchSize
double AboveRangeSwatchSize
The thickness and length of the (square) Above Range swatch.
Definition: vtkScalarBarActorInternal.h:105
vtkScalarBarActorInternal::BelowRangeSwatchBox
vtkScalarBarBox BelowRangeSwatchBox
The bounding box of the Below Range.
Definition: vtkScalarBarActorInternal.h:146
vtkScalarBarActorInternal::BelowRangeSwatch
vtkPolyData * BelowRangeSwatch
Definition: vtkScalarBarActorInternal.h:182
vtkScalarBarActorInternal::AboveRangeSwatchMapper
vtkPolyDataMapper2D * AboveRangeSwatchMapper
Definition: vtkScalarBarActorInternal.h:187
vtkScalarBarActorInternal::NanSwatchMapper
vtkPolyDataMapper2D * NanSwatchMapper
Definition: vtkScalarBarActorInternal.h:179
vtkScalarBarActorInternal::ScalarBarBox
vtkScalarBarBox ScalarBarBox
The bounding box of the scalar bar (excluding NaN swatch)
Definition: vtkScalarBarActorInternal.h:140
vtkScalarBarActorInternal::AnnotationLeaders
vtkPolyData * AnnotationLeaders
Definition: vtkScalarBarActorInternal.h:172
vtkScalarBarActorInternal::AnnotationBoxes
vtkPolyData * AnnotationBoxes
Definition: vtkScalarBarActorInternal.h:169
vtkScalarBarActorInternal::AboveRangeSwatchBox
vtkScalarBarBox AboveRangeSwatchBox
The bounding box of the Above Range.
Definition: vtkScalarBarActorInternal.h:149
vtkColor.h
vtkTextActor
An actor that displays text. Scaled or unscaled.
Definition: vtkTextActor.h:50
vtkScalarBarActorInternal::NanSwatchActor
vtkActor2D * NanSwatchActor
Definition: vtkScalarBarActorInternal.h:180
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:179
vtkScalarBarActorInternal::NumNotes
int NumNotes
Number of annotated values (at least lut->GetNumberOfAnnotatedValues(), but maybe more)
Definition: vtkScalarBarActorInternal.h:112
vtkSmartPointer.h
vtkScalarBarActorInternal::Polys
vtkCellArray * Polys
Cells representing color swatches (for the scalar bar actor)
Definition: vtkScalarBarActorInternal.h:131
vtkScalarBarActorInternal::TickBox
vtkScalarBarBox TickBox
The bounding box of tick mark anchor points (tick labels are not fully contained)
Definition: vtkScalarBarActorInternal.h:153
vtkScalarBarBox::Posn
vtkTuple< int, 2 > Posn
The position of the box in viewport (pixel) coordinates.
Definition: vtkScalarBarActorInternal.h:43
vtkScalarBarActorInternal::AnnotationColors
ColorVector AnnotationColors
Definition: vtkScalarBarActorInternal.h:177
vtkScalarBarActorInternal::LabelColors
std::map< double, vtkColor3ub > LabelColors
Map from viewport coordinates to the leader line color of each annotation.
Definition: vtkScalarBarActorInternal.h:163
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:44
vtkScalarBarActorInternal::AnnotationBoxesActor
vtkActor2D * AnnotationBoxesActor
Definition: vtkScalarBarActorInternal.h:171
vtkScalarBarActorInternal::NanSwatchSize
double NanSwatchSize
The thickness and length of the (square) NaN swatch.
Definition: vtkScalarBarActorInternal.h:99
vtkScalarBarActorInternal::TextActors
ActorVector TextActors
Cache of classes holding geometry assembled and ready for rendering.
Definition: vtkScalarBarActorInternal.h:168
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:39
vtkScalarBarActorInternal::BelowRangeSwatchActor
vtkActor2D * BelowRangeSwatchActor
Definition: vtkScalarBarActorInternal.h:184
vtkScalarBarActorInternal::TitleBox
vtkScalarBarBox TitleBox
The bounding box of the scalar bar title text.
Definition: vtkScalarBarActorInternal.h:156
vtkScalarBarActorInternal::NanSwatch
vtkPolyData * NanSwatch
Definition: vtkScalarBarActorInternal.h:178
vtkScalarBarBox::Size
vtkTuple< int, 2 > Size
Size of the box, stored as (thickness, length) not (width, height).
Definition: vtkScalarBarActorInternal.h:52
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkScalarBarActorInternal::AnnotationLabels
ActorVector AnnotationLabels
Definition: vtkScalarBarActorInternal.h:175
vtkScalarBarActorInternal::Frame
vtkScalarBarBox Frame
The bounding box of the entire scalar bar frame.
Definition: vtkScalarBarActorInternal.h:137
vtkScalarBarActorInternal::AboveRangeSwatch
vtkPolyData * AboveRangeSwatch
Definition: vtkScalarBarActorInternal.h:186
vtkScalarBarActorInternal::AnnotationAnchors
DoubleVector AnnotationAnchors
Definition: vtkScalarBarActorInternal.h:176
vtkScalarBarActorInternal::SwatchPts
vtkPoints * SwatchPts
Point coordinates for the scalar bar actor.
Definition: vtkScalarBarActorInternal.h:128
vtkTuple< int, 2 >
vtkScalarBarActorInternal::Labels
std::map< double, vtkStdString > Labels
Map from viewport coordinates to label text of each annotation.
Definition: vtkScalarBarActorInternal.h:159
vtkScalarBarActorInternal::AnnotationBoxesMapper
vtkPolyDataMapper2D * AnnotationBoxesMapper
Definition: vtkScalarBarActorInternal.h:170
vtkScalarBarActorInternal::NumSwatches
int NumSwatches
Either NumColors or NumColors + 1, depending on whether the NaN swatch is to be drawn.
Definition: vtkScalarBarActorInternal.h:120
vtkScalarBarActorInternal::NumColors
int NumColors
Number of color swatches to draw for either the continuous or categorical scalar bar,...
Definition: vtkScalarBarActorInternal.h:116