vtkPVScalarBarActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
4 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
5 
19 #ifndef vtkPVScalarBarActor_h
20 #define vtkPVScalarBarActor_h
21 
22 #include "vtkNew.h" // For ivars
23 #include "vtkRemotingViewsModule.h" // needed for export macro
24 #include "vtkScalarBarActor.h"
25 #include "vtkSmartPointer.h" // For ivars
26 #include <vector> // For ivars
27 
28 class vtkAxis;
29 class vtkContextScene;
30 
31 class VTKREMOTINGVIEWS_EXPORT vtkPVScalarBarActor : public vtkScalarBarActor
32 {
33 public:
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36  static vtkPVScalarBarActor* New();
37 
39 
43  vtkGetMacro(AspectRatio, double);
44  vtkSetMacro(AspectRatio, double);
46 
48 
53  vtkGetMacro(AutomaticLabelFormat, int);
54  vtkSetMacro(AutomaticLabelFormat, int);
55  vtkBooleanMacro(AutomaticLabelFormat, int);
57 
59 
62  vtkGetMacro(DrawTickMarks, int);
63  vtkSetMacro(DrawTickMarks, int);
64  vtkBooleanMacro(DrawTickMarks, int);
66 
68 
71  vtkGetMacro(DrawSubTickMarks, int);
72  vtkSetMacro(DrawSubTickMarks, int);
73  vtkBooleanMacro(DrawSubTickMarks, int);
75 
77 
81  vtkGetMacro(AddRangeLabels, int);
82  vtkSetMacro(AddRangeLabels, int);
83  vtkBooleanMacro(AddRangeLabels, int);
85 
87 
91  vtkSetMacro(AutomaticAnnotations, int);
92  vtkGetMacro(AutomaticAnnotations, int);
93  vtkBooleanMacro(AutomaticAnnotations, int);
95 
97 
100  vtkGetStringMacro(RangeLabelFormat);
101  vtkSetStringMacro(RangeLabelFormat);
103 
107  virtual void AddValueLabelIfUnoccluded(double value, double pos, double diff);
108 
110 
114  vtkGetMacro(TitleJustification, int);
115  vtkSetClampMacro(TitleJustification, int, VTK_TEXT_LEFT, VTK_TEXT_RIGHT);
117 
119 
123  vtkGetMacro(AddRangeAnnotations, int);
124  vtkSetMacro(AddRangeAnnotations, int);
125  vtkBooleanMacro(AddRangeAnnotations, int);
127 
133  void ReleaseGraphicsResources(vtkWindow*) override;
134 
138  int RenderOpaqueGeometry(vtkViewport* viewport) override;
139 
143  int RenderOverlay(vtkViewport* viewport) override;
144 
145 protected:
147  ~vtkPVScalarBarActor() override;
148 
150 
153  void PrepareTitleText() override;
154  void ComputeScalarBarThickness() override;
155  void LayoutTitle() override;
156  void ComputeScalarBarLength() override;
157  void LayoutTicks() override;
158  void ConfigureAnnotations() override;
159  void ConfigureTitle() override;
160  void ConfigureTicks() override;
162 
168  void EditAnnotations() override;
169 
179  virtual void BuildScalarBarTexture();
180 
186  virtual int CreateLabel(
187  double value, int minDigits, int targetWidth, int targetHeight, vtkViewport* viewport);
188 
189  double AspectRatio;
194 
199 
201 
206 
208 
214 
220 
225 
230 
231 private:
232  vtkPVScalarBarActor(const vtkPVScalarBarActor&) = delete;
233  void operator=(const vtkPVScalarBarActor&) = delete;
234 };
235 
236 #endif // vtkPVScalarBarActor_h
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkPolyDataMapper2D
vtkScalarBarActor::LayoutTitle
virtual void LayoutTitle()
vtkScalarBarActor::RenderOverlay
int RenderOverlay(vtkViewport *viewport)
vtkPVScalarBarActor::DrawSubTickMarks
int DrawSubTickMarks
Definition: vtkPVScalarBarActor.h:192
vtkPVScalarBarActor::TickLayoutHelperScene
vtkNew< vtkContextScene > TickLayoutHelperScene
These are used to calculate the tick spacing.
Definition: vtkPVScalarBarActor.h:212
vtkScalarBarActor::ComputeScalarBarThickness
virtual void ComputeScalarBarThickness()
vtkScalarBarActor::ConfigureTitle
virtual void ConfigureTitle()
vtkPVScalarBarActor::RangeLabelFormat
char * RangeLabelFormat
Definition: vtkPVScalarBarActor.h:200
vtkPVScalarBarActor::TickMarksMapper
vtkPolyDataMapper2D * TickMarksMapper
Definition: vtkPVScalarBarActor.h:204
vtkPVScalarBarActor::AutomaticAnnotations
int AutomaticAnnotations
Flag indicating whether automatic annotations are computed and shown.
Definition: vtkPVScalarBarActor.h:198
vtkPVScalarBarActor::TickMarks
vtkPolyData * TickMarks
Definition: vtkPVScalarBarActor.h:203
vtkWindow
vtkPVScalarBarActor::LabelSpace
int LabelSpace
Space, in pixels, between the labels and the bar itself.
Definition: vtkPVScalarBarActor.h:219
vtkPVScalarBarActor::TickLayoutHelper
vtkNew< vtkAxis > TickLayoutHelper
These are used to calculate the tick spacing.
Definition: vtkPVScalarBarActor.h:211
vtkTexture
vtkContextScene
vtkScalarBarActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkScalarBarActor::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport)
vtkPVScalarBarActor::AddRangeAnnotations
int AddRangeAnnotations
Flag to add minimum and maximum as annotations.
Definition: vtkPVScalarBarActor.h:229
vtkIndent
vtkPVScalarBarActor::TitleJustification
int TitleJustification
The justification/alignment of the title.
Definition: vtkPVScalarBarActor.h:224
vtkSmartPointer.h
vtkScalarBarActor::ComputeScalarBarLength
virtual void ComputeScalarBarLength()
vtkNew< vtkAxis >
vtkScalarBarActor::New
static vtkScalarBarActor * New()
vtkPVScalarBarActor::AutomaticLabelFormat
int AutomaticLabelFormat
Definition: vtkPVScalarBarActor.h:190
vtkViewport
vtkScalarBarActor::ConfigureAnnotations
virtual void ConfigureAnnotations()
vtkPVScalarBarActor::DrawTickMarks
int DrawTickMarks
Definition: vtkPVScalarBarActor.h:191
vtkScalarBarActor::LayoutTicks
virtual void LayoutTicks()
vtkPVScalarBarActor::TickMarksActor
vtkActor2D * TickMarksActor
Definition: vtkPVScalarBarActor.h:205
vtkActor2D
vtkScalarBarActor::PrepareTitleText
virtual void PrepareTitleText()
vtkNew.h
vtkScalarBarActor::ConfigureTicks
virtual void ConfigureTicks()
vtkAxis
vtkPolyData
vtkPVScalarBarActor::AddRangeLabels
int AddRangeLabels
Definition: vtkPVScalarBarActor.h:193
vtkScalarBarActor::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
vtkPVScalarBarActor
A scalar bar with labels of fixed font.
Definition: vtkPVScalarBarActor.h:31
vtkPVScalarBarActor::AspectRatio
double AspectRatio
Definition: vtkPVScalarBarActor.h:189
vtkScalarBarActor
vtkScalarBarActor::EditAnnotations
virtual void EditAnnotations()
vtkScalarBarActor.h
vtkPVScalarBarActor::ScalarBarTexture
vtkTexture * ScalarBarTexture
Definition: vtkPVScalarBarActor.h:202