OpenCOVER
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
28namespace vrui
29{
30class OSGVruiNode;
31class OSGVruiMatrix;
32class coAction;
33}
34
35namespace osg
36{
37class Texture2D;
38}
39
40namespace opencover
41{
42
44{
45public:
48
50 virtual vrui::vruiNode *getScene() override;
51
52 virtual vrui::vruiNode *getMenuGroup() override;
56
58 virtual vrui::vruiMatrix *createMatrix() override;
59 virtual void deleteMatrix(vrui::vruiMatrix *matrix) override;
60
61 virtual std::string getName(const std::string &name) const override;
62
63 virtual vrui::vruiTexture *createTexture(const std::string &textureName) override;
64
67
70 virtual void deleteUserData(vrui::vruiUserData *userData) override;
71
73 virtual void miss(vrui::coAction *action) override;
74
75 // remove pointer indicator
76 virtual void removePointerIcon(const std::string &name) override;
77 // add pointer indicator
78 virtual void addPointerIcon(const std::string &name) override;
79
80 virtual vrui::vruiNode *getIcon(const std::string &iconName, bool shared = false) override;
81
82 virtual vrui::vruiMatrix *getViewerMatrix() const override;
83 virtual vrui::vruiMatrix *getHandMatrix() const override;
84 virtual vrui::vruiMatrix *getMouseMatrix() const override;
85 virtual vrui::vruiMatrix *getRelativeMatrix() const override;
86
87 virtual bool is2DInputDevice() const override;
88 virtual bool isMultiTouchDevice() const override;
89
90 virtual void sendCollabMessage(vrui::vruiCollabInterface *myinterface, const char *buffer, int length) override;
91
92 virtual double getFrameTime() const override;
93
94 virtual int getClientId() override;
95 virtual bool isRemoteBlockNececcary() override;
96private:
97 vrui::OSGVruiNode *alwaysVisibleNode = nullptr;
98 vrui::OSGVruiNode *groupNode = nullptr;
99 vrui::OSGVruiNode *sceneNode = nullptr;
100 vrui::OSGVruiMatrix *handMatrix = nullptr;
101 vrui::OSGVruiMatrix *headMatrix = nullptr;
102 vrui::OSGVruiMatrix *mouseMatrix = nullptr;
103 vrui::OSGVruiMatrix *relativeMatrix = nullptr;
104
105 std::stack<vrui::vruiMatrix *> matrixStack;
106 std::string look;
107};
108}
109#endif
Definition: ARToolKit.h:33
Definition: coClusterStat.h:29
collaborative interface manager
Definition: coVRCommunication.h:41
Definition: VRVruiRenderInterface.h:44
virtual bool isRemoteBlockNececcary() override
virtual vrui::vruiUIElementProvider * createUIElementProvider(vrui::coUIElement *element) override
virtual vrui::vruiMatrix * getRelativeMatrix() const override
virtual vrui::vruiButtonProvider * createButtonProvider(vrui::coButtonGeometry *element) override
virtual bool isMultiTouchDevice() const override
virtual void addPointerIcon(const std::string &name) override
virtual void removePointerIcon(const std::string &name) override
virtual vrui::coUpdateManager * getUpdateManager() override
virtual vrui::coJoystickManager * getJoystickManager() override
the application can have a joystick manager
virtual vrui::vruiNode * getMenuGroup() override
virtual vrui::vruiMatrix * getHandMatrix() const override
virtual vrui::vruiNode * getAlwaysVisibleGroup() override
virtual void deleteUserData(vrui::vruiUserData *userData) override
virtual std::string getName(const std::string &name) const override
virtual vrui::vruiTransformNode * createTransformNode() override
virtual bool is2DInputDevice() const override
virtual void deleteMatrix(vrui::vruiMatrix *matrix) override
virtual vrui::vruiNode * getIcon(const std::string &iconName, bool shared=false) override
virtual vrui::vruiMatrix * getMouseMatrix() const override
virtual void sendCollabMessage(vrui::vruiCollabInterface *myinterface, const char *buffer, int length) override
virtual vrui::vruiActionUserData * createActionUserData(vrui::coAction *action) override
virtual int getClientId() override
virtual double getFrameTime() const override
virtual vrui::vruiNode * getScene() override
virtual vrui::vruiMatrix * createMatrix() override
virtual vrui::vruiTexture * createTexture(const std::string &textureName) override
virtual vrui::vruiPanelGeometryProvider * createPanelGeometryProvider(vrui::coPanelGeometry *element) override
virtual vrui::vruiUserData * createUserData() override
virtual vrui::vruiMatrix * getViewerMatrix() const override
virtual void miss(vrui::coAction *action) override
virtual vrui::coAction::Result hit(vrui::coAction *action, vrui::vruiHit *hit) override
Definition: coAction.h:26
Result
Definition: coAction.h:44
Definition: coButtonGeometry.h:27
Manages the joystick as input device.
Definition: coJoystickManager.h:34
Definition: coPanelGeometry.h:22
Definition: coUIElement.h:53
Definition: coUpdateManager.h:42
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiActionUserData.h:19
Definition: vruiButtonProvider.h:21
base class for collaborative Userinterface elements
Definition: vruiCollabInterface.h:46
Definition: vruiHit.h:21
Definition: vruiMatrix.h:20
Definition: vruiNode.h:22
Definition: vruiPanelGeometryProvider.h:20
Definition: vruiRendererInterface.h:45
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiTexture.h:18
Definition: vruiTransformNode.h:18
Definition: vruiUIElementProvider.h:23
Userdata that can be attached to Nodes in the scenegraph.
Definition: vruiUserData.h:18
Definition: OSGVruiMatrix.h:19
Definition: OSGVruiNode.h:21