14 #include <btBulletCollisionCommon.h>
17 #include <matrix/vlVector.h>
21 #include "tbb/spin_rw_mutex.h"
22 #include <boost/optional.hpp>
73 :
public btCollisionWorld::RayResultCallback
79 explicit RayResultRecord(btCollisionWorld::LocalRayResult& rayResult,
bool normalInWorldSpace);
84 const btVector3& rayFromWorld,
const btVector3& rayToWorld)
const;
86 boost::shared_ptr<const DtCollisionObjectInterface>
object;
97 virtual bool needsCollision(btBroadphaseProxy* proxy0)
const;
111 virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,
bool normalInWorldSpace);
123 virtual btScalar addSingleResult(
124 btCollisionWorld::LocalRayResult& rayResult,
bool normalInWorldSpace);
137 virtual btScalar addSingleResult(
138 btCollisionWorld::LocalRayResult& rayResult,
bool normalInWorldSpace);
virtual bool needsCollision(btBroadphaseProxy *proxy0) const
Builds BVH and checks to see if object is enabled.
Only records whether there was a hit or not, bails out of future calculations once it finds one...
Definition: bulletUtil.h:130
const double & x() const
Definition: point.h:180
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
DtBoost::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:41
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords.
Definition: vrfChordIntersectRecordList.h:31
btScalar intersectionTime
Definition: bulletUtil.h:87
btVector3 DtVector2btVector3(const DtVector &v)
Definition: bulletUtil.h:34
bool DT_DLL_vantageTerrainImplementation shapeSphereVolumetricIntersect(const Coordinate_System &, const DtLocalVertexList &shape, const DtSphere &sphere)
Note that this function treats the shape as if it is in two dimensions (all tests ignore height for t...
boost::optional< RayResultRecord > myResult
Definition: bulletUtil.h:126
bool DT_DLL_vantageTerrainImplementation sphereSphereVolumetricIntersect(const DtSphere &sphere1, const DtSphere &sphere2)
boost::optional< btTransform > normalTransform
Definition: bulletUtil.h:89
boost::shared_ptr< const DtCollisionObjectInterface > object
Definition: bulletUtil.h:86
int triangleIndex
Definition: bulletUtil.h:90
Only records the closest hit.
Definition: bulletUtil.h:117
Definition: coordSystem.h:54
DtPoint btVector32DtPoint(const btVector3 &v)
Definition: bulletUtil.h:35
DtVector btVector32DtVector(const btVector3 &v)
Definition: bulletUtil.h:36
const double & y() const
Definition: point.h:190
Definition: osgToBullet.h:63
Definition: vrfChordIntersectionRecord.h:19
const DtIntersectionRecord::DtIntersectionType myIrtFlag
Definition: bulletUtil.h:100
Base class for bullet callbacks which implements needsCollision.
Definition: bulletUtil.h:72
Extended version of bullet's RayResultCallback which records all the hits along the ray instead of on...
Definition: bulletUtil.h:105
bool DT_DLL_vantageTerrainImplementation geometrySphereVolumetricIntersect(const Coordinate_System &, DtTerrainPagingGeometryPtr geometry, const DtSphere &sphere)
Holds hit results so that data we need from them can be computed after mutex has been released...
Definition: bulletUtil.h:77
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
btVector3 normal
Definition: bulletUtil.h:88
bool DT_DLL_vantageTerrainImplementation btVectorIsZero(const btVector3 &v)
bool DT_DLL_vantageTerrainImplementation chordSphereVolumetricIntersect(const DtChord &chord, const DtSphere &sphere)
const double & z() const
Definition: point.h:200
std::vector< RayResultRecord > myRecords
Definition: bulletUtil.h:113
class DtLocalVertexList:
Definition: localVertexList.h:20
btVector3 DtPoint2btVector3(const DtPoint &p)
Utilities for using Bullet in MAK products.
Definition: bulletUtil.h:33
DtIntersectionType
Definition: intersectionRecord.h:41