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