vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PoB.h
Go to the documentation of this file.
1 #ifndef _DA_POB_H
2 #define _DA_POB_H
3 
4 
5 #include <osg/Geometry>
6 
7 
8 using namespace vrecko;
9 
10 namespace APDYNAMICART
11 {
12 
14 typedef enum PoBType {
15  //TODO remove...
16  POB__ICON = 1,
17 };
18 
19 
20 
22 
30 class PoB : public Ability
31 {
32 public:
33 
34  PoB(const char* abName);
35  ~PoB();
36 
37 
39  virtual void clicked() = 0;
40 
41  /*
42  * \return name of this PoB
43  */
44  string getpobName() { return this->pobName; }
45 
46  /*
47  * \return target of this PoB
48  */
49  string getTarget() { return this->targetName; }
50 
52 
61  virtual int load(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* PoBNode) = 0;
62 
64  /*
65  *
66  * When pointed, Icon can switch it geometry (e.g. change color) as visual feedback to user
67  *
68  * TODO bug - when user point to PoB with both hand simultaneously
69  *
70  * \param pointed is true when user points on PoB and false when user "unpoint" PoB
71  *
72  */
73  virtual void pointed(bool pointed) = 0;
74 
76  virtual void save(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* Document, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode* PoBNode) = 0;
77 
78 
80  /*
81  * solve dynamics - get data from source, compute, send data to target
82  *
83  */
84  virtual void update() = 0;
85 
86 
87 protected:
88 
90  string pobName;
91 
93  std::string targetName;
94 
95 };
96 
97 
98 }
99 #endif // _DA_POB_H