vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ToolSelector.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "DATool.h"
4 #include "PoA.h"
5 #include "Hoop.h"
6 #include "SectorManager.h"
7 
8 namespace APDYNAMICART
9 {
10 
12 
17 const unsigned int NOT_FOUND = -1;
18 
19 class ToolSelector : public DATool
20 {
21 public:
22  ToolSelector();
23 
25  virtual void activate();
26  virtual void deactivate();
27  virtual void turnOn();
28  virtual void turnOff();
29  virtual void update();
30  virtual bool initialize(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters = NULL );
31 
33  std::string createMenuStructure();
34  void guiItemClicked(const char* itemID);
35  void menuSliderChanged(const char* sliderID, float sliderPos);
36 
37 protected:
40  void resetValues();
41  int getNearestIndex();
42  int getSectorNumber();
43  void initMenu();
44 
46  osg::Vec3 _DAAposition;
47  osg::Quat _DAAOrientation;
48  osg::Vec3 _DAAScale;
49 
52  double _selectStart;
53  double _selectEnd;
54  double _lastEnd;
55  unsigned int _sectorIndex;
56  unsigned int _arraySize;
57  bool _overZero;
62 
66  DECLARE_REQUEST_OUTPUT(SensorTransformation, MessageInt, MessageSensorTransformation);
67  DECLARE_REQUEST_OUTPUT(SelectedObjectID, MessageInt, MessageObjectID);
69  DECLARE_INPUT(GUIItemClicked, MessageString);
70  DECLARE_INPUT(CreateMenuStructure, MessageInt);
71  DECLARE_INPUT(HidingMenu, MessageBool);
72  DECLARE_OUTPUT(MenuStructure, MessageString);
73 };
74 
75 typedef osg::ref_ptr<ToolSelector> ToolSelectorPtr;
76 
77 }