VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
bulletUtil.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 
14 #include <btBulletCollisionCommon.h>
15 #include <geometry/point.h>
16 #include <geometry/chordIntersectionRecord.h>
17 #include <matrix/vlVector.h>
18 #include <list>
19 #include <geometry/surface.h>
21 #include "tbb/spin_rw_mutex.h"
22 
23 class DtChord;
24 class DtSphere;
25 class DtLocalVertexList;
26 class DtChordIntersectRecordList;
27 
29 
30 btVector3 DtPoint2btVector3(const DtPoint& p);
31 btVector3 DtVector2btVector3(const DtVector& v);
32 DtPoint btVector32DtPoint(const btVector3& v);
33 DtVector btVector32DtVector(const btVector3& v);
34 bool btVectorIsZero(const btVector3& v);
36 
40 bool chordSphereVolumetricIntersect(const DtChord& chord,
41  const DtSphere& sphere);
42 
45 bool sphereSphereVolumetricIntersect(const DtSphere& sphere1,
46  const DtSphere& sphere2);
47 
54  const DtSphere& sphere);
55 
60  const DtSphere& sphere);
61 
64 struct DtAllHitsRayResultCallback : public btCollisionWorld::RayResultCallback
65 {
66  DtAllHitsRayResultCallback(const btVector3& rayFromWorld,const btVector3& rayToWorld,
67  DtChordIntersectRecordList& resultList);
68 
69  virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace);
70  virtual bool needsCollision(btBroadphaseProxy* proxy0) const;
71 
72  btVector3 m_rayFromWorld;
73  btVector3 m_rayToWorld;
74  DtChordIntersectRecordList& myResultList;
75 };
76 
77 struct DtClosestRayResultCallback : public btCollisionWorld::ClosestRayResultCallback
78 {
79  DtClosestRayResultCallback(const btVector3& rayFromWorld,const btVector3& rayToWorld);
80  //virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace);
81  virtual bool needsCollision(btBroadphaseProxy* proxy0) const;
82 
83  virtual btScalar addSingleResult(
84  btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace);
85 
86  unsigned myHitCounter;
87  DtSurface mySurface;
88 };
89 
90 DtSurface getSurfaceType(btCollisionWorld::LocalRayResult& rayResult);
91 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)