VTK
vtkOpenVRMenuRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkImplicitPlaneRepresentation.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 vtkOpenVRMenuRepresentation_h
29 #define vtkOpenVRMenuRepresentation_h
30 
31 #include "vtkRenderingOpenVRModule.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 VTKRENDERINGOPENVR_EXPORT vtkOpenVRMenuRepresentation : public vtkWidgetRepresentation
44 {
45 public:
50 
52 
56  void PrintSelf(ostream& os, vtkIndent indent) override;
58 
60 
63  void BuildRepresentation() override;
64 
67  vtkAbstractWidget *widget,
68  unsigned long event, void *calldata) override;
69  void ComplexInteraction(
71  vtkAbstractWidget *widget,
72  unsigned long event, void *calldata) override;
75  vtkAbstractWidget *widget,
76  unsigned long event, void *calldata) override;
78 
80 
83  void ReleaseGraphicsResources(vtkWindow*) override;
85  int RenderOverlay(vtkViewport*) override;
87 
89 
92  void PushFrontMenuItem(const char *name, const char *text, vtkCommand *cmd);
93  void RenameMenuItem(const char *name, const char *text);
94  void RemoveMenuItem(const char *name);
95  void RemoveAllMenuItems();
97 
98  vtkGetMacro(CurrentOption, double);
99 
100 protected:
102  ~vtkOpenVRMenuRepresentation() override;
103 
104  class InternalElement;
105  std::deque<InternalElement *> Menus;
106 
107  double CurrentOption; // count from start of the list
108  double PlacedPos[3];
109  double PlacedDOP[3];
110  double PlacedVUP[3];
111  double PlacedVRight[3];
112  double PlacedOrientation[3];
113 
114 private:
116  void operator=(const vtkOpenVRMenuRepresentation&) = delete;
117 };
118 
119 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:42
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkWidgetRepresentation.h
vtkCommand
superclass for callback/observer methods
Definition: vtkCommand.h:370
vtkTextActor3D
An actor that displays text.
Definition: vtkTextActor3D.h:47
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition: vtkWidgetRepresentation.h:60
vtkWidgetRepresentation::BuildRepresentation
virtual void BuildRepresentation()=0
vtkWidgetRepresentation::StartComplexInteraction
virtual void StartComplexInteraction(vtkRenderWindowInteractor *, vtkAbstractWidget *, unsigned long, void *)
Definition: vtkWidgetRepresentation.h:151
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkWidgetRepresentation::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
Definition: vtkWidgetRepresentation.h:220
vtkAbstractWidget
define the API for widget / widget representation
Definition: vtkAbstractWidget.h:63
vtkWidgetRepresentation::ComplexInteraction
virtual void ComplexInteraction(vtkRenderWindowInteractor *, vtkAbstractWidget *, unsigned long, void *)
Definition: vtkWidgetRepresentation.h:156
vtkWidgetRepresentation::EndComplexInteraction
virtual void EndComplexInteraction(vtkRenderWindowInteractor *, vtkAbstractWidget *, unsigned long, void *)
Definition: vtkWidgetRepresentation.h:161
vtkOpenVRMenuRepresentation::Menus
std::deque< InternalElement * > Menus
Definition: vtkOpenVRMenuRepresentation.h:104
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:50
vtkOpenVRMenuRepresentation::CurrentOption
double CurrentOption
Definition: vtkOpenVRMenuRepresentation.h:107
vtkRenderWindowInteractor
platform-independent render window interaction including picking and frame rate control.
Definition: vtkRenderWindowInteractor.h:78
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkX3D::name
Definition: vtkX3D.h:219
vtkWidgetRepresentation::RenderOverlay
int RenderOverlay(vtkViewport *vtkNotUsed(viewport)) override
Definition: vtkWidgetRepresentation.h:221
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:66
vtkWidgetRepresentation::HasTranslucentPolygonalGeometry
vtkTypeBool HasTranslucentPolygonalGeometry() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkWidgetRepresentation.h:225
vtkOpenVRMenuRepresentation
Widget representation for vtkOpenVRPanelWidget Implementation of the popup panel representation for t...
Definition: vtkOpenVRMenuRepresentation.h:43
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkWidgetRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.