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
36 #ifndef vtkCaptionRepresentation_h
37 #define vtkCaptionRepresentation_h
38 
40 #include "vtkInteractionWidgetsModule.h" // For export macro
41 
42 VTK_ABI_NAMESPACE_BEGIN
43 class vtkRenderer;
44 class vtkCaptionActor2D;
45 class vtkConeSource;
47 
48 class VTKINTERACTIONWIDGETS_EXPORT vtkCaptionRepresentation : public vtkBorderRepresentation
49 {
50 public:
55 
57 
61  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
69  void SetAnchorPosition(double pos[3]);
70  void GetAnchorPosition(double pos[3]);
72 
74 
78  void SetCaptionActor2D(vtkCaptionActor2D* captionActor);
79  vtkGetObjectMacro(CaptionActor2D, vtkCaptionActor2D);
81 
83 
89  vtkGetObjectMacro(AnchorRepresentation, vtkPointHandleRepresentation3D);
91 
95  void BuildRepresentation() override;
96  void GetSize(double size[2]) override
97  {
98  size[0] = 2.0;
99  size[1] = 2.0;
100  }
101 
103 
109  int RenderOverlay(vtkViewport*) override;
114 
116 
120  vtkSetClampMacro(FontFactor, double, 0.1, 10.0);
121  vtkGetMacro(FontFactor, double);
123 
124 protected:
127 
128  // the text to manage
131 
133  int DisplayAttachmentPoint[2];
134  double FontFactor;
135 
136  // Internal representation for the anchor
138 
139  // Check and adjust boundaries according to the size of the caption text
140  virtual void AdjustCaptionBoundary();
141 
142 private:
144  void operator=(const vtkCaptionRepresentation&) = delete;
145 };
146 
147 VTK_ABI_NAMESPACE_END
148 #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:43
a simple class to control print indentation
Definition: vtkIndent.h:38
represent the position of a point in 3D space
an ordered list of Props
abstract specification for renderers
Definition: vtkRenderer.h:71
abstract specification for Viewports
Definition: vtkViewport.h:54
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
@ size
Definition: vtkX3D.h:253
int vtkTypeBool
Definition: vtkABI.h:64