VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
18 #include <list>
19 #include <vlutil/vlSmartPointers.h>
20 #include <geometry/intersectionRecord.h>
21 #include <tbb/spin_rw_mutex.h>
22 #include <boost/unordered_set.hpp>
23 #include <features/proj.h>
24 
25 typedef std::list<btCollisionObject*> DtCollisionObjectList;
26 
27 class DtChord;
28 class DtChordIntersectionRecord;
29 class DtChordIntersectRecordList;
30 class DtSphere;
31 
37 {
38 private:
40 
42  DtCollisionWorld& operator=(const DtCollisionWorld&);
44 public:
46  virtual ~DtCollisionWorld();
47 
48  virtual void initialize();
49 
50  virtual unsigned collisionObjectCount();
51 
52  virtual void addCollisionObjectToWorld(btCollisionObject*);
53 
54  virtual void addCollisionObjectsToWorld(DtCollisionObjectList&);
55 
56  virtual unsigned int removeCollisionObjectFromWorld(btCollisionObject* collisionObject);
57 
58  virtual unsigned int removeCollisionObjectsFromWorld(DtCollisionObjectList&);
59 
60  virtual bool chordIntersect(const DtChord& chord,
61  DtChordIntersectionRecord& record,
62  DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA) const;
63 
64  virtual bool allIntersectsAlongChord(const DtChord& chord,
65  DtChordIntersectRecordList& intList,
66  DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA) const;
67 
68  virtual void setCoordinateSystem(const Coordinate_System* cs);
69  virtual const Coordinate_System* coordinateSystem();
70 
71  virtual void drawDebugInfo();
72  virtual void setDebugDraw(bool polygons, bool aabb);
73 
74  virtual void processTrianglesInArea(DtBulletTriangleCallback&);
75 
76 protected:
77  virtual btCollisionWorld* bulletCollisionWorld();
78 
79  //Bullet intersection members.
80 
81  typedef boost::unordered_set<btCollisionObject*> CollisionObjectSet;
83 
84  const Coordinate_System* myCoordinateSystem;
85  btCollisionWorld* myCollisionWorld;
86 
87  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myDebugDrawer;
88  std::auto_ptr<DtSharedMemoryBulletDebugDrawer> myAabbDrawer;
90 
91  btCollisionConfiguration* myCollisionConfiguration;
92  btBroadphaseInterface* myBroadphaseInterface;
93  btCollisionDispatcher* myCollisionDispatcher;
94 
95  typedef tbb::spin_rw_mutex Mutex;
96  mutable Mutex myMutex;
97 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)