VTK  9.1.0
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
vtkRenderView::SetInteractionModeTo2D
virtual void SetInteractionModeTo2D()
Set the interaction mode for the view.
Definition: vtkRenderView.h:129
vtkPolyDataMapper2D
draw vtkPolyData onto the image plane
Definition: vtkPolyDataMapper2D.h:154
vtkRenderView
A view containing a renderer.
Definition: vtkRenderView.h:84
vtkRenderView::SetLabelPlacementModeToNoOverlap
virtual void SetLabelPlacementModeToNoOverlap()
Label placement mode.
Definition: vtkRenderView.h:235
vtkAbstractTransform
superclass for all geometric transformations
Definition: vtkAbstractTransform.h:52
vtkRenderView::GetDisplaySize
int * GetDisplaySize()
Set the display size of the icon (which may be different from the icon size).
vtkArrayCalculator
perform mathematical operations on data in field data arrays
Definition: vtkArrayCalculator.h:113
vtkRenderView::SetIconTexture
virtual void SetIconTexture(vtkTexture *texture)
Set the icon sheet to use for rendering icons.
vtkRenderView::SetRenderOnMouseMove
void SetRenderOnMouseMove(bool b)
Whether to render on every mouse move.
vtkTexturedActor2D
actor that draws 2D data with texture support
Definition: vtkTexturedActor2D.h:39
vtkRenderView::Interacting
bool Interacting
Definition: vtkRenderView.h:307
vtkRenderView::SelectionMode
int SelectionMode
Definition: vtkRenderView.h:304
vtkRenderView::Render
void Render() override
Updates the representations, then calls Render() on the render window associated with this view.
vtkRenderView::INTERACTION_MODE_3D
@ INTERACTION_MODE_3D
Definition: vtkRenderView.h:117
vtkHoverWidget
invoke a vtkTimerEvent when hovering
Definition: vtkHoverWidget.h:102
vtkX3D::style
@ style
Definition: vtkX3D.h:498
vtkSmartPointer< vtkRenderer >
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:82
vtkLabelPlacementMapper
Places and renders non-overlapping labels.
Definition: vtkLabelPlacementMapper.h:65
vtkRenderView::UpdatePickRender
void UpdatePickRender()
Update the pick render for queries for drag selections or hover ballooons.
vtkRenderView::SetInteractionModeTo3D
virtual void SetInteractionModeTo3D()
Definition: vtkRenderView.h:130
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:163
vtkInteractorObserver
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor
Definition: vtkInteractorObserver.h:85
vtkX3D::Transform
@ Transform
Definition: vtkX3D.h:47
vtkRenderView::InteractionMode
int InteractionMode
Definition: vtkRenderView.h:317
vtkRenderView::ProcessEvents
void ProcessEvents(vtkObject *caller, unsigned long eventId, void *callData) override
Called to process events.
vtkRenderView::GetLabelPlacementMode
virtual int GetLabelPlacementMode()
Label placement mode.
vtkRenderView::SetInteractor
void SetInteractor(vtkRenderWindowInteractor *interactor) override
The render window interactor.
vtkRenderView::RenderOnMouseMove
bool RenderOnMouseMove
Definition: vtkRenderView.h:318
vtkRenderView::Selector
vtkSmartPointer< vtkHardwareSelector > Selector
Definition: vtkRenderView.h:325
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:132
vtkRenderView::GetInteractorStyle
virtual vtkInteractorObserver * GetInteractorStyle()
Get the interactor style associated with the render view.
vtkRenderView::LabelRenderer
vtkSmartPointer< vtkRenderer > LabelRenderer
Definition: vtkRenderView.h:320
vtkRenderView::SetLabelPlacementModeToAll
virtual void SetLabelPlacementModeToAll()
Label placement mode.
Definition: vtkRenderView.h:236
vtkTexture
handles properties associated with a texture map
Definition: vtkTexture.h:175
vtkRenderView::LabelActor
vtkSmartPointer< vtkTexturedActor2D > LabelActor
Definition: vtkRenderView.h:323
vtkRenderView::UpdateHoverText
virtual void UpdateHoverText()
Called in PrepareForRendering to update the hover text.
vtkRenderView::FREETYPE
@ FREETYPE
Definition: vtkRenderView.h:241
vtkRenderView::PickRenderNeedsUpdate
bool PickRenderNeedsUpdate
Definition: vtkRenderView.h:310
vtkRenderView::UpdateHoverWidgetState
virtual void UpdateHoverWidgetState()
Enable or disable hovering based on DisplayHoverText ivar and interaction state.
vtkRenderView::LabelRenderMode
int LabelRenderMode
Definition: vtkRenderView.h:305
vtkHardwareSelector
Definition: vtkHardwareSelector.h:153
vtkTransformCoordinateSystems
transform points into different coordinate systems
Definition: vtkTransformCoordinateSystems.h:36
vtkRenderView::SetDisplayHoverText
virtual void SetDisplayHoverText(bool b)
Whether the view should display hover text.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkRenderView::NO_OVERLAP
@ NO_OVERLAP
Definition: vtkRenderView.h:221
vtkRenderView::New
static vtkRenderView * New()
vtkRenderView::SetInteractionMode
void SetInteractionMode(int mode)
vtkSmartPointer.h
vtkRenderView::INTERACTION_MODE_2D
@ INTERACTION_MODE_2D
Definition: vtkRenderView.h:116
vtkRenderView::SetSelectionModeToFrustum
void SetSelectionModeToFrustum()
Sets the selection mode for the render view.
Definition: vtkRenderView.h:178
vtkRenderView::vtkRenderView
vtkRenderView()
vtkRenderViewBase
A base view containing a renderer.
Definition: vtkRenderViewBase.h:42
vtkRenderView::PrepareForRendering
void PrepareForRendering() override
Called by the view when the renderer is about to render.
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:192
vtkRenderView::IconTexture
vtkTexture * IconTexture
Definition: vtkRenderView.h:313
vtkRenderView::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkRenderView::SetLabelPlacementMode
virtual void SetLabelPlacementMode(int mode)
Label placement mode.
vtkRenderView::GetDisplaySize
void GetDisplaySize(int &dsx, int &dsy)
Set the display size of the icon (which may be different from the icon size).
vtkBalloonRepresentation
represent the vtkBalloonWidget
Definition: vtkBalloonRepresentation.h:96
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:143
vtkRenderView::SetInteractorStyle
virtual void SetInteractorStyle(vtkInteractorObserver *style)
The interactor style associated with the render view.
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:149
vtkRenderView::SetLabelRenderModeToQt
virtual void SetLabelRenderModeToQt()
Label render mode.
Definition: vtkRenderView.h:254
vtkRenderView::Balloon
vtkSmartPointer< vtkBalloonRepresentation > Balloon
Definition: vtkRenderView.h:321
vtkRenderView::SetLabelRenderMode
virtual void SetLabelRenderMode(int mode)
Label render mode.
vtkDynamic2DLabelMapper
draw text labels at 2D dataset points
Definition: vtkDynamic2DLabelMapper.h:69
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:66
vtkRenderView::DisplayHoverText
bool DisplayHoverText
Definition: vtkRenderView.h:306
vtkRenderView::~vtkRenderView
~vtkRenderView() override
vtkRenderView::RemoveLabels
virtual void RemoveLabels(vtkAlgorithmOutput *conn)
Remove labels from an input connection.
vtkRenderView::SetTransform
virtual void SetTransform(vtkAbstractTransform *transform)
Set the view's transform.
vtkRenderView::GetLabelRenderMode
virtual int GetLabelRenderMode()
Label render mode.
vtkX3D::mode
@ mode
Definition: vtkX3D.h:253
vtkRenderWindow
create a window for renderers to draw into
Definition: vtkRenderWindow.h:205
vtkRenderView::GenerateSelection
virtual void GenerateSelection(void *callData, vtkSelection *selection)
Generates the selection based on the view event and the selection mode.
vtkRenderView::SetSelectionModeToSurface
void SetSelectionModeToSurface()
Sets the selection mode for the render view.
Definition: vtkRenderView.h:177
vtkRenderView::InPickRender
bool InPickRender
Definition: vtkRenderView.h:309
vtkRenderView::AddLabels
virtual void AddLabels(vtkAlgorithmOutput *conn)
Add labels from an input connection with an associated text property.
vtkRenderView::SetRenderWindow
void SetRenderWindow(vtkRenderWindow *win) override
Set the render window for this view.
vtkRenderView::HoverWidget
vtkSmartPointer< vtkHoverWidget > HoverWidget
Definition: vtkRenderView.h:324
vtkRenderView::SetLabelRenderModeToFreetype
virtual void SetLabelRenderModeToFreetype()
Label render mode.
Definition: vtkRenderView.h:253
vtkRenderView::InHoverTextRender
bool InHoverTextRender
Definition: vtkRenderView.h:308
vtkRenderViewBase.h
vtkRenderView::Transform
vtkAbstractTransform * Transform
Definition: vtkRenderView.h:312
vtkRenderView::LabelPlacementMapper
vtkSmartPointer< vtkLabelPlacementMapper > LabelPlacementMapper
Definition: vtkRenderView.h:322
vtkRenderView::ApplyViewTheme
void ApplyViewTheme(vtkViewTheme *theme) override
Applies a view theme to this view.