OpenCOVER
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
VRVruiRenderInterface.h
Go to the documentation of this file.
1 /* This file is part of COVISE.
2 
3  You can use it under the terms of the GNU Lesser General Public License
4  version 2.1 or later, see lgpl-2.1.txt.
5 
6  * License: LGPL 2+ */
7 
8 #ifndef VR_VRUI_RENDER_INTERFACE_H
9 #define VR_VRUI_RENDER_INTERFACE_H
10 
25 
26 #include <stack>
27 
28 namespace vrui
29 {
30 class OSGVruiNode;
31 class OSGVruiMatrix;
32 class coAction;
33 }
34 
35 namespace osg
36 {
37 class Texture2D;
38 }
39 
40 namespace opencover
41 {
42 
44 {
45 public:
47  virtual ~VRVruiRenderInterface();
48 
49  virtual vrui::vruiNode *getScene() override;
50 
51  virtual vrui::vruiNode *getMenuGroup() override;
55 
56  virtual vrui::vruiTransformNode *createTransformNode() override;
57  virtual vrui::vruiMatrix *createMatrix() override;
58  virtual void deleteMatrix(vrui::vruiMatrix *matrix) override;
59 
60  virtual std::string getName(const std::string &name) const override;
61 
62  virtual vrui::vruiTexture *createTexture(const std::string &textureName) override;
63 
64  virtual vrui::coUpdateManager *getUpdateManager() override;
65  virtual vrui::coJoystickManager *getJoystickManager() override;
66 
68  virtual vrui::vruiUserData *createUserData() override;
69  virtual void deleteUserData(vrui::vruiUserData *userData) override;
70 
71  virtual vrui::coAction::Result hit(vrui::coAction *action, vrui::vruiHit *hit) override;
72  virtual void miss(vrui::coAction *action) override;
73 
74  // remove pointer indicator
75  virtual void removePointerIcon(const std::string &name) override;
76  // add pointer indicator
77  virtual void addPointerIcon(const std::string &name) override;
78 
79  virtual vrui::vruiNode *getIcon(const std::string &iconName, bool shared = false) override;
80 
81  virtual vrui::vruiMatrix *getViewerMatrix() const override;
82  virtual vrui::vruiMatrix *getHandMatrix() const override;
83  virtual vrui::vruiMatrix *getMouseMatrix() const override;
84  virtual vrui::vruiMatrix *getRelativeMatrix() const override;
85 
86  virtual bool is2DInputDevice() const override;
87  virtual bool isMultiTouchDevice() const override;
88 
89  virtual void sendCollabMessage(vrui::vruiCollabInterface *myinterface, const char *buffer, int length) override;
90 
91  virtual double getFrameTime() const override;
92 
93  virtual void remoteLock(int) override;
94  virtual void remoteUnLock(int) override;
95  virtual bool isLocked(int) override;
96  virtual bool isLockedByMe(int) override;
97 
98 private:
99  vrui::OSGVruiNode *groupNode = nullptr;
100  vrui::OSGVruiNode *sceneNode = nullptr;
101  vrui::OSGVruiMatrix *handMatrix = nullptr;
102  vrui::OSGVruiMatrix *headMatrix = nullptr;
103  vrui::OSGVruiMatrix *mouseMatrix = nullptr;
104  vrui::OSGVruiMatrix *relativeMatrix = nullptr;
105 
106  std::stack<vrui::vruiMatrix *> matrixStack;
107  std::string look;
108 };
109 }
110 #endif
base class for collaborative Userinterface elements
Definition: vruiCollabInterface.h:45
virtual vrui::coJoystickManager * getJoystickManager() override
the application can have a joystick manager
virtual vrui::vruiMatrix * getViewerMatrix() const override
Definition: vruiHit.h:20
Definition: vruiNode.h:21
virtual void remoteUnLock(int) override
virtual vrui::vruiActionUserData * createActionUserData(vrui::coAction *action) override
Definition: vruiTransformNode.h:17
virtual void deleteUserData(vrui::vruiUserData *userData) override
virtual vrui::vruiPanelGeometryProvider * createPanelGeometryProvider(vrui::coPanelGeometry *element) override
virtual void miss(vrui::coAction *action) override
Definition: vruiButtonProvider.h:20
virtual vrui::coAction::Result hit(vrui::coAction *action, vrui::vruiHit *hit) override
virtual void addPointerIcon(const std::string &name) override
Result
Definition: coAction.h:43
Definition: coAction.h:25
virtual vrui::coUpdateManager * getUpdateManager() override
Definition: VRVruiRenderInterface.h:43
virtual void remoteLock(int) override
virtual vrui::vruiMatrix * getRelativeMatrix() const override
virtual vrui::vruiNode * getIcon(const std::string &iconName, bool shared=false) override
virtual vrui::vruiUserData * createUserData() override
virtual vrui::vruiTexture * createTexture(const std::string &textureName) override
Definition: vruiMatrix.h:19
virtual double getFrameTime() const override
virtual vrui::vruiMatrix * getMouseMatrix() const override
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiTexture.h:17
virtual bool isMultiTouchDevice() const override
virtual bool isLocked(int) override
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiActionUserData.h:18
virtual void sendCollabMessage(vrui::vruiCollabInterface *myinterface, const char *buffer, int length) override
virtual vrui::vruiTransformNode * createTransformNode() override
virtual vrui::vruiMatrix * createMatrix() override
Definition: OSGVruiNode.h:20
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiUserData.h:17
Definition: coButtonGeometry.h:26
virtual void removePointerIcon(const std::string &name) override
virtual vrui::vruiUIElementProvider * createUIElementProvider(vrui::coUIElement *element) override
virtual vrui::vruiNode * getScene() override
Definition: coUIElement.h:52
virtual bool isLockedByMe(int) override
virtual vrui::vruiNode * getMenuGroup() override
Definition: coUpdateManager.h:41
Definition: vruiRendererInterface.h:44
Manages the joystick as input device.
Definition: coJoystickManager.h:33
Definition: vruiPanelGeometryProvider.h:19
virtual vrui::vruiButtonProvider * createButtonProvider(vrui::coButtonGeometry *element) override
virtual void deleteMatrix(vrui::vruiMatrix *matrix) override
Definition: OSGVruiMatrix.h:18
Definition: coPanelGeometry.h:21
virtual bool is2DInputDevice() const override
virtual vrui::vruiMatrix * getHandMatrix() const override
virtual std::string getName(const std::string &name) const override
Definition: vruiUIElementProvider.h:22