vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ProxiBorder.h
Go to the documentation of this file.
1 #ifndef VF_PROXIBORDER
2 #define VF_PROXIBORDER
3 
4 #include <vrecko/Ability.h>
5 #include <vreckoDP/base/PHANToM.h>
6 #include <osg/Vec4>
7 #include <osg/Geode>
8 #include <osg/MatrixTransform>
9 #include <osg/Group>
10 
11 #include "Auxiliary.h"
12 
13 using namespace vrecko;
14 using namespace vreckoDP_base;
15 namespace VirtualFixture{
16 
17 class ProxiBorder: public Ability {
18  public:
19  ProxiBorder();
21 
23  void processEvent(const std::string &input_name, void *value);
24 
25  void preInitialize(void);
26  void postInitialize(void);
27  void update(void);
28  void display(void); //show/hide object
29 
30  bool loadXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *pParametersNode);
31  XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *getXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *);
32 
33  protected:
34  PHANToM *PHANToMDevice;
35  bool all_on;
36  bool active; //if true, attractive field will be active
37 
38  bool visible; //if geometric representation will be visible
39  osg::MatrixTransform *tnode; //transform node pointer
40  osg::Group *gnode; //group pointer
41  osg::Geode *node; //geometry node pointer (for outer sphere)
42  osg::Geode *node2; //geometry node pointer (for inner sphere)
43  osg::Vec4 color; //color of outer sphere (radius)
44  float transparency; //outer sphere transparency
45  osg::Vec4 color2; //color of inner sphere (radius)
46  float transparency2; //inner sphere transparency
47 
48  bool once; //if true then if sphere is entered, one signal is send till sphere is not leaved and reentered (then send next signal)
49  bool justonce; //send only one signal when entered at first ...reentering doesn't reset it, it send just one signal at all
50  bool sendflag; //set true if signal was send
51 };
52 
53 };
54 #endif