VTK  9.1.0
vtkVRMenuRepresentation.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Visualization Toolkit
4Module: vtkVRMenuRepresentation.h
5
6Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7All rights reserved.
8See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10This software is distributed WITHOUT ANY WARRANTY; without even
11the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
28#ifndef vtkVRMenuRepresentation_h
29#define vtkVRMenuRepresentation_h
30
31#include "vtkRenderingVRModule.h" // For export macro
33#include <deque> // for ivar
34
35class vtkActor;
36class vtkProperty;
37class vtkPolyData;
39class vtkCellArray;
40class vtkPoints;
41class vtkTextActor3D;
42
43class VTKRENDERINGVR_EXPORT vtkVRMenuRepresentation : public vtkWidgetRepresentation
44{
45public:
50
52
56 void PrintSelf(ostream& os, vtkIndent indent) override;
58
60
63 void BuildRepresentation() override;
64
66 unsigned long event, void* calldata) override;
68 unsigned long event, void* calldata) override;
70 unsigned long event, void* calldata) override;
72
74
79 int RenderOverlay(vtkViewport*) override;
81
83
86 void PushFrontMenuItem(const char* name, const char* text, vtkCommand* cmd);
87 void RenameMenuItem(const char* name, const char* text);
88 void RemoveMenuItem(const char* name);
91
92 vtkGetMacro(CurrentOption, double);
93
94protected:
97
98 class InternalElement;
99 std::deque<InternalElement*> Menus;
100
101 double CurrentOption; // count from start of the list
102 double PlacedPos[3];
103 double PlacedDOP[3];
104 double PlacedVUP[3];
105 double PlacedVRight[3];
106 double PlacedOrientation[3];
107
108private:
110 void operator=(const vtkVRMenuRepresentation&) = delete;
111};
112
113#endif
define the API for widget / widget representation
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
object to represent cell connectivity
Definition: vtkCellArray.h:290
superclass for callback/observer methods
Definition: vtkCommand.h:394
a simple class to control print indentation
Definition: vtkIndent.h:113
represent and manipulate 3D points
Definition: vtkPoints.h:143
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
represent surface properties of a geometric object
Definition: vtkProperty.h:171
platform-independent render window interaction including picking and frame rate control.
An actor that displays text.
Widget representation for vtkVRMenuWidget Implementation of the popup panel representation for the vt...
void BuildRepresentation() override
Methods to interface with the vtkVRMenuWidget.
void PushFrontMenuItem(const char *name, const char *text, vtkCommand *cmd)
Methods to add/remove items to the menu, called by the menu widget.
void RemoveMenuItem(const char *name)
Methods to add/remove items to the menu, called by the menu widget.
~vtkVRMenuRepresentation() override
void EndComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkVRMenuWidget.
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting the rendering process.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for the class.
int RenderOverlay(vtkViewport *) override
Methods supporting the rendering process.
void ComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkVRMenuWidget.
vtkTypeBool HasTranslucentPolygonalGeometry() override
Methods supporting the rendering process.
void RemoveAllMenuItems()
Methods to add/remove items to the menu, called by the menu widget.
void RenameMenuItem(const char *name, const char *text)
Methods to add/remove items to the menu, called by the menu widget.
static vtkVRMenuRepresentation * New()
Instantiate the class.
void StartComplexInteraction(vtkRenderWindowInteractor *iren, vtkAbstractWidget *widget, unsigned long event, void *calldata) override
Methods to interface with the vtkVRMenuWidget.
std::deque< InternalElement * > Menus
abstract specification for Viewports
Definition: vtkViewport.h:47
abstract class defines interface between the widget and widget representation classes
window superclass for vtkRenderWindow
Definition: vtkWindow.h:39
int vtkTypeBool
Definition: vtkABI.h:69