vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Ctrl_MotionVisualization.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Controller.h"
5 #include "MotionTrail.h"
6 
7 
8 using namespace vrecko;
9 
10 namespace APDYNAMICART
11 {
12 
14 
26 {
27 public:
28 
31 
32  void activateTool();
33 
34  void clear();
35 
36  std::string createMenuStructure(void) const;
37 
39 
44  osg::ref_ptr<PoA> createPoA();
45 
46  void deactivateTool();
47 
48  void initialize(DAEnvironment* p_dae, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters = NULL);
49 
50  //
51 // void debugKeyPressed();
52 //
53 // DAToolType getNextToolType();
54 //
55 //
56 // void guiItemClicked(const char* itemID) { cerr << "Not implemented." << endl; }
57 //
58 // /**
59 // * not used
60 // */
61 // //inline std::string getTrackingTrailsString() const;
62 //
63 // ///Import scene from Modeller plug-in
64 // /*
65 // * Called from DAEnvironment, where some other items are loaded from same file.
66 // * \param fileName file to import
67 // * \return code error. 0 means everything went good
68 // */
69 // int importScene( const string& fileName );
70 //
71 // void load(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode, XERCES_CPP_NAMESPACE_QUALIFIER DOMNodeList* poaNodeList);
72 //
73 
74 //
75 // void menuItemClicked(const char* itemID);
76 //
77  void guiSliderChanged(const char* sliderID, float sliderPos);
78 //
79 //
80 // void processEvent(const std::string &input_name, void *value);
81 //
82 // void save(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* Document, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *controllerNode);
83 //
84 
85 
86 
87  void setSensorCount(int newCount);
88 
89  void switchGUIVisibility();
90 
91  void switchTools(DAToolType newType);
92 
93  void turnOn();
94 
95  void turnOff();
96 //
97 // void update();
98 
99 
100 
101 protected:
102 
103  //Tracking
105 
106 
107  //Tools
108  // osg::ref_ptr<ToolBrush> can NOT be used here, because of VRECKO
109  // VRECKO memory management collides with osg ref-pointers memory management
110  // particularly in deleting abilities.
112 
113 
114  bool loadXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode);
115  void preInitialize();
116 
117  void postInitialize();
118 
119 
121  void turnOnTool(DAToolType type);
122 
124  void turnOffTool(DAToolType type);
125 
126  void update();
127 
128 
129  DECLARE_OUTPUT(SetSensorsCount, MessageInt);
130 };
131 
132 }