VTK  9.1.0
vtkVRMenuRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkVRMenuRepresentation.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 =========================================================================*/
28 #ifndef vtkVRMenuRepresentation_h
29 #define vtkVRMenuRepresentation_h
30 
31 #include "vtkRenderingVRModule.h" // For export macro
33 #include <deque> // for ivar
34 
35 class vtkActor;
36 class vtkProperty;
37 class vtkPolyData;
38 class vtkPolyDataMapper;
39 class vtkCellArray;
40 class vtkPoints;
41 class vtkTextActor3D;
42 
43 class VTKRENDERINGVR_EXPORT vtkVRMenuRepresentation : public vtkWidgetRepresentation
44 {
45 public:
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 
94 protected:
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 
108 private:
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:46
object to represent cell connectivity
Definition: vtkCellArray.h:181
superclass for callback/observer methods
Definition: vtkCommand.h:394
a simple class to control print indentation
Definition: vtkIndent.h:34
represent and manipulate 3D points
Definition: vtkPoints.h:34
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
represent surface properties of a geometric object
Definition: vtkProperty.h:62
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
static vtkVRMenuRepresentation * New()
Instantiate the class.
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.
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
@ name
Definition: vtkX3D.h:225
int vtkTypeBool
Definition: vtkABI.h:69