1 #ifndef SNCH_FORCE_FILTER
2 #define SNCH_FORCE_FILTER
6 #ifdef COMPILE_PHANTOM_DEVICE
11 namespace vreckoDP_PHANToM {
14 #define SNCH_FILTER_FFLAGS_INTERSECTION 0x00000001
18 class SNCHForceFilter :
public CollisionFilterBase {
19 friend DWORD WINAPI SNCHForceFilterThreadProc(SNCHForceFilter *filter);
24 virtual bool loadXMLParameters(XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode *parameters);
26 void apply(PHANToMSTATE &pState, osg::Vec3 &force, osg::Vec3 &torque);
28 void localUpdateAndForceCalculation(
bool bRunningInThread);
33 float (*getLMDs)(void);
38 bool bTerminateThread;
40 osg::Matrix originalScale;
43 osg::Vec3 threadForce;
46 osg::Vec3 threadTorque;
49 unsigned int dwThreadForceFlags;
53 unsigned int threadCounter;
55 unsigned int threadLMDCounter;
57 unsigned int threadGlobalUpdatesCounter;
62 float maxSearchingDistance;