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-------------------------------------------------------------------------*/
43#ifndef vtkRenderView_h
44#define vtkRenderView_h
45
46#include "vtkRenderViewBase.h"
47#include "vtkSmartPointer.h" // For SP ivars
48#include "vtkViewsInfovisModule.h" // For export macro
49
51class vtkActor2D;
57class vtkHoverWidget;
61class vtkSelection;
62class vtkTextProperty;
63class vtkTexture;
66
67class VTKVIEWSINFOVIS_EXPORT vtkRenderView : public vtkRenderViewBase
68{
69public:
70 static vtkRenderView* New();
72 void PrintSelf(ostream& os, vtkIndent indent) override;
73
79 void SetInteractor(vtkRenderWindowInteractor* interactor) override;
80
85
90
96 void SetRenderWindow(vtkRenderWindow* win) override;
97
98 enum
99 {
102 INTERACTION_MODE_UNKNOWN
103 };
104
106 vtkGetMacro(InteractionMode, int);
107
113 virtual void SetInteractionModeTo2D() { this->SetInteractionMode(INTERACTION_MODE_2D); }
114 virtual void SetInteractionModeTo3D() { this->SetInteractionMode(INTERACTION_MODE_3D); }
115
120 void Render() override;
121
125 void ApplyViewTheme(vtkViewTheme* theme) override;
126
128
132 virtual void SetTransform(vtkAbstractTransform* transform);
133 vtkGetObjectMacro(Transform, vtkAbstractTransform);
135
137
140 virtual void SetDisplayHoverText(bool b);
141 vtkGetMacro(DisplayHoverText, bool);
142 vtkBooleanMacro(DisplayHoverText, bool);
144
145 enum
146 {
147 SURFACE = 0,
148 FRUSTUM = 1
149 };
150
152
159 vtkSetClampMacro(SelectionMode, int, 0, 1);
160 vtkGetMacro(SelectionMode, int);
161 void SetSelectionModeToSurface() { this->SetSelectionMode(SURFACE); }
162 void SetSelectionModeToFrustum() { this->SetSelectionMode(FRUSTUM); }
164
170 virtual void AddLabels(vtkAlgorithmOutput* conn);
171
175 virtual void RemoveLabels(vtkAlgorithmOutput* conn);
176
178
181 virtual void SetIconTexture(vtkTexture* texture);
182 vtkGetObjectMacro(IconTexture, vtkTexture);
184
186
189 vtkSetVector2Macro(IconSize, int);
190 vtkGetVector2Macro(IconSize, int);
192
194
198 vtkSetVector2Macro(DisplaySize, int);
200 void GetDisplaySize(int& dsx, int& dsy);
202
203 enum
204 {
206 ALL
207 };
208
210
217 virtual void SetLabelPlacementMode(int mode);
219 virtual void SetLabelPlacementModeToNoOverlap() { this->SetLabelPlacementMode(NO_OVERLAP); }
220 virtual void SetLabelPlacementModeToAll() { this->SetLabelPlacementMode(ALL); }
222
223 enum
224 {
226 QT
227 };
228
230
235 virtual void SetLabelRenderMode(int mode);
236 virtual int GetLabelRenderMode();
237 virtual void SetLabelRenderModeToFreetype() { this->SetLabelRenderMode(FREETYPE); }
238 virtual void SetLabelRenderModeToQt() { this->SetLabelRenderMode(QT); }
240
242
246 vtkGetMacro(RenderOnMouseMove, bool);
247 vtkBooleanMacro(RenderOnMouseMove, bool);
249
250protected:
252 ~vtkRenderView() override;
253
259 void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) override;
260
264 virtual void GenerateSelection(void* callData, vtkSelection* selection);
265
269 void PrepareForRendering() override;
270
274 virtual void UpdateHoverText();
275
281
287
295
298 int IconSize[2];
299 int DisplaySize[2];
300
303
310
311private:
312 vtkRenderView(const vtkRenderView&) = delete;
313 void operator=(const vtkRenderView&) = delete;
314};
315
316#endif
superclass for all geometric transformations
a actor that draws 2D data
Definition: vtkActor2D.h:49
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:43
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:68
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
virtual vtkInteractorObserver * GetInteractorStyle()
Get the interactor style associated with the render view.
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.
int * GetDisplaySize()
Set the display size of the icon (which may be different from the icon size).
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 int GetLabelRenderMode()
Label render mode.
void SetSelectionModeToSurface()
Sets the selection mode for the render view.
static vtkRenderView * New()
virtual void SetLabelRenderModeToQt()
Label render mode.
void SetInteractor(vtkRenderWindowInteractor *interactor) override
The render window interactor.
bool PickRenderNeedsUpdate
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).
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:63
represent text properties.
handles properties associated with a texture map
Definition: vtkTexture.h:75
actor that draws 2D data with texture support
transform points into different coordinate systems
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:52
@ Transform
Definition: vtkX3D.h:47
@ mode
Definition: vtkX3D.h:253
@ style
Definition: vtkX3D.h:498