VTK  9.2.6
vtkRenderView.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRenderView.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
59 #ifndef vtkRenderView_h
60 #define vtkRenderView_h
61 
62 #include "vtkRenderViewBase.h"
63 #include "vtkSmartPointer.h" // For SP ivars
64 #include "vtkViewsInfovisModule.h" // For export macro
65 
67 class vtkActor2D;
68 class vtkAlgorithmOutput;
69 class vtkArrayCalculator;
73 class vtkHoverWidget;
77 class vtkSelection;
78 class vtkTextProperty;
79 class vtkTexture;
80 class vtkTexturedActor2D;
82 
83 class VTKVIEWSINFOVIS_EXPORT vtkRenderView : public vtkRenderViewBase
84 {
85 public:
86  static vtkRenderView* New();
88  void PrintSelf(ostream& os, vtkIndent indent) override;
89 
95  void SetInteractor(vtkRenderWindowInteractor* interactor) override;
96 
101 
106 
112  void SetRenderWindow(vtkRenderWindow* win) override;
113 
114  enum
115  {
118  INTERACTION_MODE_UNKNOWN
119  };
120 
122  vtkGetMacro(InteractionMode, int);
123 
129  virtual void SetInteractionModeTo2D() { this->SetInteractionMode(INTERACTION_MODE_2D); }
130  virtual void SetInteractionModeTo3D() { this->SetInteractionMode(INTERACTION_MODE_3D); }
131 
136  void Render() override;
137 
141  void ApplyViewTheme(vtkViewTheme* theme) override;
142 
144 
148  virtual void SetTransform(vtkAbstractTransform* transform);
149  vtkGetObjectMacro(Transform, vtkAbstractTransform);
151 
153 
156  virtual void SetDisplayHoverText(bool b);
157  vtkGetMacro(DisplayHoverText, bool);
158  vtkBooleanMacro(DisplayHoverText, bool);
160 
161  enum
162  {
163  SURFACE = 0,
164  FRUSTUM = 1
165  };
166 
168 
175  vtkSetClampMacro(SelectionMode, int, 0, 1);
176  vtkGetMacro(SelectionMode, int);
177  void SetSelectionModeToSurface() { this->SetSelectionMode(SURFACE); }
178  void SetSelectionModeToFrustum() { this->SetSelectionMode(FRUSTUM); }
180 
186  virtual void AddLabels(vtkAlgorithmOutput* conn);
187 
191  virtual void RemoveLabels(vtkAlgorithmOutput* conn);
192 
194 
197  virtual void SetIconTexture(vtkTexture* texture);
198  vtkGetObjectMacro(IconTexture, vtkTexture);
200 
202 
205  vtkSetVector2Macro(IconSize, int);
206  vtkGetVector2Macro(IconSize, int);
208 
210 
214  vtkSetVector2Macro(DisplaySize, int);
216  void GetDisplaySize(int& dsx, int& dsy);
218 
219  enum
220  {
222  ALL
223  };
224 
226 
233  virtual void SetLabelPlacementMode(int mode);
234  virtual int GetLabelPlacementMode();
235  virtual void SetLabelPlacementModeToNoOverlap() { this->SetLabelPlacementMode(NO_OVERLAP); }
236  virtual void SetLabelPlacementModeToAll() { this->SetLabelPlacementMode(ALL); }
238 
239  enum
240  {
242  QT
243  };
244 
246 
251  virtual void SetLabelRenderMode(int mode);
252  virtual int GetLabelRenderMode();
253  virtual void SetLabelRenderModeToFreetype() { this->SetLabelRenderMode(FREETYPE); }
254  virtual void SetLabelRenderModeToQt() { this->SetLabelRenderMode(QT); }
256 
258 
261  void SetRenderOnMouseMove(bool b);
262  vtkGetMacro(RenderOnMouseMove, bool);
263  vtkBooleanMacro(RenderOnMouseMove, bool);
265 
266 protected:
268  ~vtkRenderView() override;
269 
275  void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) override;
276 
280  virtual void GenerateSelection(void* callData, vtkSelection* selection);
281 
285  void PrepareForRendering() override;
286 
290  virtual void UpdateHoverText();
291 
296  virtual void UpdateHoverWidgetState();
297 
303 
311 
314  int IconSize[2];
315  int DisplaySize[2];
316 
319 
326 
327 private:
328  vtkRenderView(const vtkRenderView&) = delete;
329  void operator=(const vtkRenderView&) = delete;
330 };
331 
332 #endif
superclass for all geometric transformations
a actor that draws 2D data
Definition: vtkActor2D.h:155
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:119
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:82
draw vtkPolyData onto the image plane
A base view containing a renderer.
A view containing a renderer.
Definition: vtkRenderView.h:84
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:169
represent text properties.
handles properties associated with a texture map
Definition: vtkTexture.h:178
actor that draws 2D data with texture support
transform points into different coordinate systems
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:138
@ Transform
Definition: vtkX3D.h:47
@ mode
Definition: vtkX3D.h:253
@ style
Definition: vtkX3D.h:498