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 
81  virtual void SetInteractorStyle(vtkInteractorObserver* style);
82 
86  virtual vtkInteractorObserver* GetInteractorStyle();
87 
93  void SetRenderWindow(vtkRenderWindow* win) override;
94 
95  enum
96  {
99  INTERACTION_MODE_UNKNOWN
100  };
101 
102  void SetInteractionMode(int mode);
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);
196  int* GetDisplaySize();
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:
248  vtkRenderView();
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 
283  void UpdatePickRender();
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
vtkRenderView::SetInteractionModeTo2D
virtual void SetInteractionModeTo2D()
Set the interaction mode for the view.
Definition: vtkRenderView.h:110
vtkPolyDataMapper2D
draw vtkPolyData onto the image plane
Definition: vtkPolyDataMapper2D.h:44
vtkRenderView
A view containing a renderer.
Definition: vtkRenderView.h:64
vtkRenderView::SetLabelPlacementModeToNoOverlap
virtual void SetLabelPlacementModeToNoOverlap()
Definition: vtkRenderView.h:216
vtkAbstractTransform
superclass for all geometric transformations
Definition: vtkAbstractTransform.h:50
vtkView::ProcessEvents
virtual void ProcessEvents(vtkObject *caller, unsigned long eventId, void *callData)
Called to process events.
vtkArrayCalculator
perform mathematical operations on data in field data arrays
Definition: vtkArrayCalculator.h:79
vtkTexturedActor2D
actor that draws 2D data with texture support
Definition: vtkTexturedActor2D.h:38
vtkRenderView::Interacting
bool Interacting
Definition: vtkRenderView.h:288
vtkRenderView::SelectionMode
int SelectionMode
Definition: vtkRenderView.h:285
vtkRenderView::INTERACTION_MODE_3D
@ INTERACTION_MODE_3D
Definition: vtkRenderView.h:98
vtkRenderViewBase::Render
virtual void Render()
Updates the representations, then calls Render() on the render window associated with this view.
vtkHoverWidget
invoke a vtkTimerEvent when hovering
Definition: vtkHoverWidget.h:82
vtkX3D::style
@ style
Definition: vtkX3D.h:498
vtkSmartPointer< vtkRenderer >
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkLabelPlacementMapper
Places and renders non-overlapping labels.
Definition: vtkLabelPlacementMapper.h:45
vtkRenderView::SetInteractionModeTo3D
virtual void SetInteractionModeTo3D()
Definition: vtkRenderView.h:111
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:57
vtkInteractorObserver
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor
Definition: vtkInteractorObserver.h:65
vtkX3D::Transform
@ Transform
Definition: vtkX3D.h:47
vtkRenderViewBase::SetRenderWindow
virtual void SetRenderWindow(vtkRenderWindow *win)
Set the render window for this view.
vtkRenderView::InteractionMode
int InteractionMode
Definition: vtkRenderView.h:298
vtkRenderView::RenderOnMouseMove
bool RenderOnMouseMove
Definition: vtkRenderView.h:299
vtkRenderView::NO_OVERLAP
@ NO_OVERLAP
Definition: vtkRenderView.h:202
vtkRenderView::Selector
vtkSmartPointer< vtkHardwareSelector > Selector
Definition: vtkRenderView.h:306
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:42
vtkRenderViewBase::SetInteractor
virtual void SetInteractor(vtkRenderWindowInteractor *)
vtkRenderView::LabelRenderer
vtkSmartPointer< vtkRenderer > LabelRenderer
Definition: vtkRenderView.h:301
vtkRenderView::SetLabelPlacementModeToAll
virtual void SetLabelPlacementModeToAll()
Definition: vtkRenderView.h:217
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:65
vtkRenderView::LabelActor
vtkSmartPointer< vtkTexturedActor2D > LabelActor
Definition: vtkRenderView.h:304
vtkRenderViewBase::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkRenderView::PickRenderNeedsUpdate
bool PickRenderNeedsUpdate
Definition: vtkRenderView.h:291
vtkRenderView::LabelRenderMode
int LabelRenderMode
Definition: vtkRenderView.h:286
vtkHardwareSelector
Definition: vtkHardwareSelector.h:123
vtkTransformCoordinateSystems
transform points into different coordinate systems
Definition: vtkTransformCoordinateSystems.h:35
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkView::ApplyViewTheme
virtual void ApplyViewTheme(vtkViewTheme *vtkNotUsed(theme))
Apply a theme to the view.
Definition: vtkView.h:156
vtkSmartPointer.h
vtkRenderView::SetSelectionModeToFrustum
void SetSelectionModeToFrustum()
Definition: vtkRenderView.h:159
vtkRenderViewBase
A base view containing a renderer.
Definition: vtkRenderViewBase.h:41
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:82
vtkRenderView::IconTexture
vtkTexture * IconTexture
Definition: vtkRenderView.h:294
vtkRenderView::INTERACTION_MODE_2D
@ INTERACTION_MODE_2D
Definition: vtkRenderView.h:97
vtkBalloonRepresentation
represent the vtkBalloonWidget
Definition: vtkBalloonRepresentation.h:76
vtkRenderViewBase::PrepareForRendering
virtual void PrepareForRendering()
Called by the view when the renderer is about to render.
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:33
vtkRenderViewBase::New
static vtkRenderViewBase * New()
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:39
vtkRenderView::SetLabelRenderModeToQt
virtual void SetLabelRenderModeToQt()
Definition: vtkRenderView.h:235
vtkRenderView::Balloon
vtkSmartPointer< vtkBalloonRepresentation > Balloon
Definition: vtkRenderView.h:302
vtkDynamic2DLabelMapper
draw text labels at 2D dataset points
Definition: vtkDynamic2DLabelMapper.h:68
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:36
vtkRenderView::DisplayHoverText
bool DisplayHoverText
Definition: vtkRenderView.h:287
vtkX3D::mode
@ mode
Definition: vtkX3D.h:253
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:93
vtkRenderView::SetSelectionModeToSurface
void SetSelectionModeToSurface()
Definition: vtkRenderView.h:158
vtkRenderView::InPickRender
bool InPickRender
Definition: vtkRenderView.h:290
vtkRenderView::FREETYPE
@ FREETYPE
Definition: vtkRenderView.h:222
vtkRenderView::HoverWidget
vtkSmartPointer< vtkHoverWidget > HoverWidget
Definition: vtkRenderView.h:305
vtkRenderView::SetLabelRenderModeToFreetype
virtual void SetLabelRenderModeToFreetype()
Definition: vtkRenderView.h:234
vtkRenderView::InHoverTextRender
bool InHoverTextRender
Definition: vtkRenderView.h:289
vtkRenderViewBase.h
vtkRenderView::Transform
vtkAbstractTransform * Transform
Definition: vtkRenderView.h:293
vtkRenderView::LabelPlacementMapper
vtkSmartPointer< vtkLabelPlacementMapper > LabelPlacementMapper
Definition: vtkRenderView.h:303