VR-Forces 4.1.1 Class Documentation
collisionWorld.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 #include <list>
17 #include <vlutil/vlSmartPointers.h>
19 #include <tbb/spin_rw_mutex.h>
20 #include <boost/unordered_set.hpp>
21 
22 typedef std::list<btCollisionObject*> DtCollisionObjectList;
23 
24 class DtChord;
27 class DtSphere;
29 
35 {
36 private:
38 
40  DtCollisionWorld& operator=(const DtCollisionWorld&);
42 public:
44  virtual ~DtCollisionWorld();
45 
46  virtual void initialize();
47 
48  virtual btCollisionWorld* bulletCollisionWorld();
49 
50  virtual void addCollisionObjectToWorld(btCollisionObject*);
51 
52  virtual void addCollisionObjectsToWorld(DtCollisionObjectList&);
53 
54  virtual unsigned int removeCollisionObjectFromWorld(btCollisionObject* collisionObject);
55 
56  virtual unsigned int removeCollisionObjectsFromWorld(DtCollisionObjectList&);
57 
58  virtual bool chordIntersect(const DtChord& chord,
61 
62  virtual bool allIntersectsAlongChord(const DtChord& chord,
65 
66  virtual bool sphereIntersect(const DtSphere& sphere, DtSphereIntersectionRecord& record,
68 
69  virtual void setDebugDrawer(btIDebugDraw* drawer);
70  virtual void drawDebugInfo() const;
71 
72 protected:
73  //Bullet intersection members.
74 
75  typedef boost::unordered_set<btCollisionObject*> CollisionObjectSet;
77 
78  btCollisionWorld* myCollisionWorld;
79  btCollisionConfiguration* myCollisionConfiguration;
80  btBroadphaseInterface* myBroadphaseInterface;
81  btCollisionDispatcher* myCollisionDispatcher;
82 
83  mutable tbb::spin_rw_mutex myMutex;
84 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)