vrecko
virtual reality framework
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Cone.h
Go to the documentation of this file.
1
#ifndef VF_CONE
2
#define VF_CONE
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
using namespace
vrecko;
12
using namespace
vreckoDP_base;
13
namespace
VirtualFixture{
14
15
class
Cone
:
public
PHANToMFilter {
16
public
:
17
Cone
();
18
~Cone
() {};
19
21
void
apply(PHANToM *pPHANToM, osg::Vec3 &force);
22
void
processEvent(
const
std::string &input_name,
void
*value);
23
24
void
preInitialize(
void
);
25
void
postInitialize(
void
);
26
void
update(
void
);
27
28
void
display(
void
);
//show or hide VF_cylinder object
29
30
31
bool
loadXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode
*pParametersNode);
32
XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode
*getXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *);
33
34
protected
:
35
PHANToM *
PHANToMDevice
;
36
bool
all_on
;
37
bool
active
;
//VF switcher
38
39
bool
visible
;
//if geometric representation will be visible
40
osg::MatrixTransform *
tnode
;
//transform node pointer
41
osg::Group *
gnode
;
//group pointer
42
osg::Geode *
node
;
//geometry node pointer (for bouning cylinder)
43
osg::Geode *
node2
;
//geometry node2 pointer (for center cylinder)
44
osg::Vec4
color
;
//color of border sphere (radius)
45
osg::Vec4
color2
;
//color of inner sphere (nullradius)
46
float
transparency
;
//border sphere transparency
47
float
transparency2
;
//inner sphere transparency
48
49
osg::Vec3
position
;
//position of starting point
50
osg::Vec3
vector
;
//vector on cone axis (from bottom to top)
51
float
radius1
;
//cone radius1 (maximum range of attractive field) at start of cone
52
float
radius2
;
//cone radius2 (maximum range of attractive field) at end of cone
53
float
nullradius
;
//radius close to centre axis, where attractive field is NOT applied
54
float
stiffness
;
//stiffness of attractive field = how strong it would be for every meter of space
55
float
pushingforce
;
//pushing force along the vector
56
bool
pushing
;
//if true push PHANToM along the vector
57
};
58
};
59
60
#endif
61
src
vreckoAP
VF
Cone.h
Generated on Tue Feb 19 2013 10:23:46 for vrecko by
1.8.3.1