VTK  9.0.1
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 -------------------------------------------------------------------------*/
40 #ifndef vtkRenderView_h
41 #define vtkRenderView_h
42 
43 #include "vtkRenderViewBase.h"
44 #include "vtkSmartPointer.h" // For SP ivars
45 #include "vtkViewsInfovisModule.h" // For export macro
46 
48 class vtkActor2D;
49 class vtkAlgorithmOutput;
50 class vtkArrayCalculator;
54 class vtkHoverWidget;
58 class vtkSelection;
59 class vtkTextProperty;
60 class vtkTexture;
61 class vtkTexturedActor2D;
63 
64 class VTKVIEWSINFOVIS_EXPORT vtkRenderView : public vtkRenderViewBase
65 {
66 public:
67  static vtkRenderView* New();
69  void PrintSelf(ostream& os, vtkIndent indent) override;
70 
76  void SetInteractor(vtkRenderWindowInteractor* interactor) override;
77 
82 
87 
93  void SetRenderWindow(vtkRenderWindow* win) override;
94 
95  enum
96  {
99  INTERACTION_MODE_UNKNOWN
100  };
101 
103  vtkGetMacro(InteractionMode, int);
104 
110  virtual void SetInteractionModeTo2D() { this->SetInteractionMode(INTERACTION_MODE_2D); }
111  virtual void SetInteractionModeTo3D() { this->SetInteractionMode(INTERACTION_MODE_3D); }
112 
117  void Render() override;
118 
122  void ApplyViewTheme(vtkViewTheme* theme) override;
123 
125 
129  virtual void SetTransform(vtkAbstractTransform* transform);
130  vtkGetObjectMacro(Transform, vtkAbstractTransform);
132 
134 
137  virtual void SetDisplayHoverText(bool b);
138  vtkGetMacro(DisplayHoverText, bool);
139  vtkBooleanMacro(DisplayHoverText, bool);
141 
142  enum
143  {
144  SURFACE = 0,
145  FRUSTUM = 1
146  };
147 
149 
156  vtkSetClampMacro(SelectionMode, int, 0, 1);
157  vtkGetMacro(SelectionMode, int);
158  void SetSelectionModeToSurface() { this->SetSelectionMode(SURFACE); }
159  void SetSelectionModeToFrustum() { this->SetSelectionMode(FRUSTUM); }
161 
167  virtual void AddLabels(vtkAlgorithmOutput* conn);
168 
172  virtual void RemoveLabels(vtkAlgorithmOutput* conn);
173 
175 
178  virtual void SetIconTexture(vtkTexture* texture);
179  vtkGetObjectMacro(IconTexture, vtkTexture);
181 
183 
186  vtkSetVector2Macro(IconSize, int);
187  vtkGetVector2Macro(IconSize, int);
189 
191 
195  vtkSetVector2Macro(DisplaySize, int);
197  void GetDisplaySize(int& dsx, int& dsy);
199 
200  enum
201  {
203  ALL
204  };
205 
207 
214  virtual void SetLabelPlacementMode(int mode);
215  virtual int GetLabelPlacementMode();
216  virtual void SetLabelPlacementModeToNoOverlap() { this->SetLabelPlacementMode(NO_OVERLAP); }
217  virtual void SetLabelPlacementModeToAll() { this->SetLabelPlacementMode(ALL); }
219 
220  enum
221  {
223  QT
224  };
225 
227 
232  virtual void SetLabelRenderMode(int mode);
233  virtual int GetLabelRenderMode();
234  virtual void SetLabelRenderModeToFreetype() { this->SetLabelRenderMode(FREETYPE); }
235  virtual void SetLabelRenderModeToQt() { this->SetLabelRenderMode(QT); }
237 
239 
242  void SetRenderOnMouseMove(bool b);
243  vtkGetMacro(RenderOnMouseMove, bool);
244  vtkBooleanMacro(RenderOnMouseMove, bool);
246 
247 protected:
249  ~vtkRenderView() override;
250 
256  void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) override;
257 
261  virtual void GenerateSelection(void* callData, vtkSelection* selection);
262 
266  void PrepareForRendering() override;
267 
271  virtual void UpdateHoverText();
272 
277  virtual void UpdateHoverWidgetState();
278 
284 
292 
295  int IconSize[2];
296  int DisplaySize[2];
297 
300 
307 
308 private:
309  vtkRenderView(const vtkRenderView&) = delete;
310  void operator=(const vtkRenderView&) = delete;
311 };
312 
313 #endif
superclass for all geometric transformations
a actor that draws 2D data
Definition: vtkActor2D.h:40
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:34
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:63
draw vtkPolyData onto the image plane
A base view containing a renderer.
A view containing a renderer.
Definition: vtkRenderView.h:65
vtkTexture * IconTexture
virtual void SetInteractionModeTo3D()
virtual void SetLabelRenderModeToFreetype()
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()
virtual int GetLabelPlacementMode()
virtual vtkInteractorObserver * GetInteractorStyle()
Get the interactor style associated with the render view.
virtual int GetLabelRenderMode()
void SetSelectionModeToSurface()
virtual void SetLabelRenderModeToQt()
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()
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)
int * GetDisplaySize()
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()
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:58
represent text properties.
handles properties associated with a texture map
Definition: vtkTexture.h:66
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:47
@ mode
Definition: vtkX3D.h:253
@ style
Definition: vtkX3D.h:498