VTK  9.3.0
vtkRenderView.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
33 #ifndef vtkRenderView_h
34 #define vtkRenderView_h
35 
36 #include "vtkRenderViewBase.h"
37 #include "vtkSmartPointer.h" // For SP ivars
38 #include "vtkViewsInfovisModule.h" // For export macro
39 
40 VTK_ABI_NAMESPACE_BEGIN
42 class vtkActor2D;
43 class vtkAlgorithmOutput;
44 class vtkArrayCalculator;
48 class vtkHoverWidget;
52 class vtkSelection;
53 class vtkTextProperty;
54 class vtkTexture;
55 class vtkTexturedActor2D;
57 
58 class VTKVIEWSINFOVIS_EXPORT vtkRenderView : public vtkRenderViewBase
59 {
60 public:
61  static vtkRenderView* New();
63  void PrintSelf(ostream& os, vtkIndent indent) override;
64 
70  void SetInteractor(vtkRenderWindowInteractor* interactor) override;
71 
76 
81 
87  void SetRenderWindow(vtkRenderWindow* win) override;
88 
89  enum
90  {
93  INTERACTION_MODE_UNKNOWN
94  };
95 
97  vtkGetMacro(InteractionMode, int);
98 
104  virtual void SetInteractionModeTo2D() { this->SetInteractionMode(INTERACTION_MODE_2D); }
105  virtual void SetInteractionModeTo3D() { this->SetInteractionMode(INTERACTION_MODE_3D); }
106 
111  void Render() override;
112 
116  void ApplyViewTheme(vtkViewTheme* theme) override;
117 
119 
123  virtual void SetTransform(vtkAbstractTransform* transform);
124  vtkGetObjectMacro(Transform, vtkAbstractTransform);
126 
128 
131  virtual void SetDisplayHoverText(bool b);
132  vtkGetMacro(DisplayHoverText, bool);
133  vtkBooleanMacro(DisplayHoverText, bool);
135 
136  enum
137  {
138  SURFACE = 0,
139  FRUSTUM = 1
140  };
141 
143 
150  vtkSetClampMacro(SelectionMode, int, 0, 1);
151  vtkGetMacro(SelectionMode, int);
152  void SetSelectionModeToSurface() { this->SetSelectionMode(SURFACE); }
153  void SetSelectionModeToFrustum() { this->SetSelectionMode(FRUSTUM); }
155 
161  virtual void AddLabels(vtkAlgorithmOutput* conn);
162 
166  virtual void RemoveLabels(vtkAlgorithmOutput* conn);
167 
169 
172  virtual void SetIconTexture(vtkTexture* texture);
173  vtkGetObjectMacro(IconTexture, vtkTexture);
175 
177 
180  vtkSetVector2Macro(IconSize, int);
181  vtkGetVector2Macro(IconSize, int);
183 
185 
189  vtkSetVector2Macro(DisplaySize, int);
191  void GetDisplaySize(int& dsx, int& dsy);
193 
194  enum
195  {
197  ALL
198  };
199 
201 
208  virtual void SetLabelPlacementMode(int mode);
209  virtual int GetLabelPlacementMode();
210  virtual void SetLabelPlacementModeToNoOverlap() { this->SetLabelPlacementMode(NO_OVERLAP); }
211  virtual void SetLabelPlacementModeToAll() { this->SetLabelPlacementMode(ALL); }
213 
214  enum
215  {
217  QT
218  };
219 
221 
226  virtual void SetLabelRenderMode(int mode);
227  virtual int GetLabelRenderMode();
228  virtual void SetLabelRenderModeToFreetype() { this->SetLabelRenderMode(FREETYPE); }
229  virtual void SetLabelRenderModeToQt() { this->SetLabelRenderMode(QT); }
231 
233 
236  void SetRenderOnMouseMove(bool b);
237  vtkGetMacro(RenderOnMouseMove, bool);
238  vtkBooleanMacro(RenderOnMouseMove, bool);
240 
241 protected:
243  ~vtkRenderView() override;
244 
250  void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) override;
251 
255  virtual void GenerateSelection(void* callData, vtkSelection* selection);
256 
260  void PrepareForRendering() override;
261 
265  virtual void UpdateHoverText();
266 
271  virtual void UpdateHoverWidgetState();
272 
278 
286 
289  int IconSize[2];
290  int DisplaySize[2];
291 
294 
301 
302 private:
303  vtkRenderView(const vtkRenderView&) = delete;
304  void operator=(const vtkRenderView&) = delete;
305 };
306 
307 VTK_ABI_NAMESPACE_END
308 #endif
superclass for all geometric transformations
a actor that draws 2D data
Definition: vtkActor2D.h:44
Proxy object to connect input/output ports.
perform mathematical operations on data in field data arrays
represent the vtkBalloonWidget
draw text labels at 2D dataset points
invoke a vtkTimerEvent when hovering
a simple class to control print indentation
Definition: vtkIndent.h:38
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor
Places and renders non-overlapping labels.
abstract base class for most VTK objects
Definition: vtkObject.h:61
draw vtkPolyData onto the image plane
A base view containing a renderer.
A view containing a renderer.
Definition: vtkRenderView.h:59
vtkTexture * IconTexture
virtual void SetInteractionModeTo3D()
virtual void SetLabelRenderModeToFreetype()
Label render mode.
virtual void UpdateHoverWidgetState()
Enable or disable hovering based on DisplayHoverText ivar and interaction state.
vtkSmartPointer< vtkHoverWidget > HoverWidget
bool InHoverTextRender
void PrepareForRendering() override
Called by the view when the renderer is about to render.
void ApplyViewTheme(vtkViewTheme *theme) override
Applies a view theme to this view.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSmartPointer< vtkTexturedActor2D > LabelActor
void ProcessEvents(vtkObject *caller, unsigned long eventId, void *callData) override
Called to process events.
virtual void GenerateSelection(void *callData, vtkSelection *selection)
Generates the selection based on the view event and the selection mode.
virtual void SetInteractionModeTo2D()
Set the interaction mode for the view.
void Render() override
Updates the representations, then calls Render() on the render window associated with this view.
virtual void SetDisplayHoverText(bool b)
Whether the view should display hover text.
virtual void SetTransform(vtkAbstractTransform *transform)
Set the view's transform.
virtual void SetLabelRenderMode(int mode)
Label render mode.
virtual void SetLabelPlacementModeToAll()
Label placement mode.
virtual int GetLabelPlacementMode()
Label placement mode.
virtual vtkInteractorObserver * GetInteractorStyle()
Get the interactor style associated with the render view.
virtual int GetLabelRenderMode()
Label render mode.
void SetSelectionModeToSurface()
Sets the selection mode for the render view.
virtual void SetLabelRenderModeToQt()
Label render mode.
void SetInteractor(vtkRenderWindowInteractor *interactor) override
The render window interactor.
bool PickRenderNeedsUpdate
static vtkRenderView * New()
void SetInteractionMode(int mode)
~vtkRenderView() override
virtual void SetIconTexture(vtkTexture *texture)
Set the icon sheet to use for rendering icons.
vtkSmartPointer< vtkRenderer > LabelRenderer
void UpdatePickRender()
Update the pick render for queries for drag selections or hover ballooons.
void SetRenderWindow(vtkRenderWindow *win) override
Set the render window for this view.
vtkSmartPointer< vtkBalloonRepresentation > Balloon
void SetSelectionModeToFrustum()
Sets the selection mode for the render view.
virtual void AddLabels(vtkAlgorithmOutput *conn)
Add labels from an input connection with an associated text property.
vtkSmartPointer< vtkLabelPlacementMapper > LabelPlacementMapper
bool RenderOnMouseMove
void GetDisplaySize(int &dsx, int &dsy)
Set the display size of the icon (which may be different from the icon size).
int * GetDisplaySize()
Set the display size of the icon (which may be different from the icon size).
virtual void SetLabelPlacementMode(int mode)
Label placement mode.
vtkSmartPointer< vtkHardwareSelector > Selector
vtkAbstractTransform * Transform
void SetRenderOnMouseMove(bool b)
Whether to render on every mouse move.
virtual void RemoveLabels(vtkAlgorithmOutput *conn)
Remove labels from an input connection.
virtual void UpdateHoverText()
Called in PrepareForRendering to update the hover text.
virtual void SetLabelPlacementModeToNoOverlap()
Label placement mode.
virtual void SetInteractorStyle(vtkInteractorObserver *style)
The interactor style associated with the render view.
platform-independent render window interaction including picking and frame rate control.
create a window for renderers to draw into
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:59
represent text properties.
handles properties associated with a texture map
Definition: vtkTexture.h:67
actor that draws 2D data with texture support
transform points into different coordinate systems
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:43
@ Transform
Definition: vtkX3D.h:41
@ mode
Definition: vtkX3D.h:247
@ style
Definition: vtkX3D.h:492