VTK  9.3.0
vtkCaptionRepresentation.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 vtkCaptionRepresentation_h
28 #define vtkCaptionRepresentation_h
29 
31 #include "vtkInteractionWidgetsModule.h" // For export macro
32 
33 VTK_ABI_NAMESPACE_BEGIN
34 class vtkRenderer;
35 class vtkCaptionActor2D;
36 class vtkConeSource;
38 
39 class VTKINTERACTIONWIDGETS_EXPORT vtkCaptionRepresentation : public vtkBorderRepresentation
40 {
41 public:
46 
48 
52  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
56 
60  void SetAnchorPosition(double pos[3]);
61  void GetAnchorPosition(double pos[3]);
63 
65 
69  void SetCaptionActor2D(vtkCaptionActor2D* captionActor);
70  vtkGetObjectMacro(CaptionActor2D, vtkCaptionActor2D);
72 
74 
80  vtkGetObjectMacro(AnchorRepresentation, vtkPointHandleRepresentation3D);
82 
86  void BuildRepresentation() override;
87  void GetSize(double size[2]) override
88  {
89  size[0] = 2.0;
90  size[1] = 2.0;
91  }
92 
94 
98  void GetActors2D(vtkPropCollection*) override;
100  int RenderOverlay(vtkViewport*) override;
105 
107 
111  vtkSetClampMacro(FontFactor, double, 0.1, 10.0);
112  vtkGetMacro(FontFactor, double);
114 
115 protected:
118 
119  // the text to manage
122 
124  int DisplayAttachmentPoint[2];
125  double FontFactor;
126 
127  // Internal representation for the anchor
129 
130  // Check and adjust boundaries according to the size of the caption text
131  virtual void AdjustCaptionBoundary();
132 
133 private:
135  void operator=(const vtkCaptionRepresentation&) = delete;
136 };
137 
138 VTK_ABI_NAMESPACE_END
139 #endif
represent a vtkBorderWidget
draw text label associated with a point
represents vtkCaptionWidget in the scene
int RenderOpaqueGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
vtkTypeBool HasTranslucentPolygonalGeometry() override
These methods are necessary to make this representation behave as a vtkProp.
void SetAnchorRepresentation(vtkPointHandleRepresentation3D *)
Set and get the instances of vtkPointHandleRepresentation3D used to implement this representation.
void GetActors2D(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK class methods.
static vtkCaptionRepresentation * New()
Instantiate this class.
virtual void AdjustCaptionBoundary()
vtkPointHandleRepresentation3D * AnchorRepresentation
void ReleaseGraphicsResources(vtkWindow *) override
These methods are necessary to make this representation behave as a vtkProp.
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
void BuildRepresentation() override
Satisfy the superclasses API.
int RenderOverlay(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
void GetAnchorPosition(double pos[3])
Specify the position of the anchor (i.e., the point that the caption is anchored to).
~vtkCaptionRepresentation() override
void SetAnchorPosition(double pos[3])
Specify the position of the anchor (i.e., the point that the caption is anchored to).
void GetSize(double size[2]) override
Subclasses should implement these methods.
void SetCaptionActor2D(vtkCaptionActor2D *captionActor)
Specify the vtkCaptionActor2D to manage.
generate polygonal cone
Definition: vtkConeSource.h:34
a simple class to control print indentation
Definition: vtkIndent.h:29
represent the position of a point in 3D space
an ordered list of Props
abstract specification for renderers
Definition: vtkRenderer.h:62
abstract specification for Viewports
Definition: vtkViewport.h:45
window superclass for vtkRenderWindow
Definition: vtkWindow.h:28
@ size
Definition: vtkX3D.h:253
int vtkTypeBool
Definition: vtkABI.h:64