summaryrefslogtreecommitdiff
path: root/src/BulletCollision/CollisionShapes/btOptimizedBvh.h
diff options
context:
space:
mode:
authorejcoumans <ejcoumans@08e121b0-ae19-0410-a57b-3be3395fd4fd>2007-10-12 02:52:28 +0000
committerejcoumans <ejcoumans@08e121b0-ae19-0410-a57b-3be3395fd4fd>2007-10-12 02:52:28 +0000
commiteff4fe8ec8f31bdac153b0101b08d39a58dfb0cf (patch)
treeedd4fa10b72c7e510a8f8aa4e6e2c99b75584dba /src/BulletCollision/CollisionShapes/btOptimizedBvh.h
parent1baa61bc8da91b9d3797d21ea96ee6f092d0c233 (diff)
downloadbullet3-eff4fe8ec8f31bdac153b0101b08d39a58dfb0cf.tar.gz
more work on hashed pairmanager. growing doesn't work yet, so need to allocate enough room for the overlapping pairs in advance.
boxbox reports contact point in B, rather then average point box, cylinder use halfextents corrected for scaling and margin. made the margin in this halfextents explicit in the 'getHalfExtentsWithMargin' and 'getHalfExtentsWithoutMargin' integrated changed for ODE quickstep solver replaced inline with SIMD_FORCE_INLINE some minor optimizations in the btSequentialImpulseConstraintSolver added cone drawing (for X,Y,Z cones)
Diffstat (limited to 'src/BulletCollision/CollisionShapes/btOptimizedBvh.h')
-rw-r--r--src/BulletCollision/CollisionShapes/btOptimizedBvh.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/BulletCollision/CollisionShapes/btOptimizedBvh.h b/src/BulletCollision/CollisionShapes/btOptimizedBvh.h
index 83339ef81..45a768c4c 100644
--- a/src/BulletCollision/CollisionShapes/btOptimizedBvh.h
+++ b/src/BulletCollision/CollisionShapes/btOptimizedBvh.h
@@ -285,7 +285,7 @@ protected:
#define USE_BANCHLESS 1
#ifdef USE_BANCHLESS
//This block replaces the block below and uses no branches, and replaces the 8 bit return with a 32 bit return for improved performance (~3x on XBox 360)
- inline unsigned testQuantizedAabbAgainstQuantizedAabb(unsigned short int* aabbMin1,unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2) const
+ SIMD_FORCE_INLINE unsigned testQuantizedAabbAgainstQuantizedAabb(unsigned short int* aabbMin1,unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2) const
{
return btSelect((unsigned)((aabbMin1[0] <= aabbMax2[0]) & (aabbMax1[0] >= aabbMin2[0])
& (aabbMin1[2] <= aabbMax2[2]) & (aabbMax1[2] >= aabbMin2[2])
@@ -293,7 +293,7 @@ protected:
1, 0);
}
#else
- inline bool testQuantizedAabbAgainstQuantizedAabb(unsigned short int* aabbMin1,unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2) const
+ SIMD_FORCE_INLINE bool testQuantizedAabbAgainstQuantizedAabb(unsigned short int* aabbMin1,unsigned short int* aabbMax1,const unsigned short int* aabbMin2,const unsigned short int* aabbMax2) const
{
bool overlap = true;
overlap = (aabbMin1[0] > aabbMax2[0] || aabbMax1[0] < aabbMin2[0]) ? false : overlap;
@@ -316,7 +316,7 @@ public:
void reportSphereOverlappingNodex(btNodeOverlapCallback* nodeCallback,const btVector3& aabbMin,const btVector3& aabbMax) const;
- inline void quantizeWithClamp(unsigned short* out, const btVector3& point) const
+ SIMD_FORCE_INLINE void quantizeWithClamp(unsigned short* out, const btVector3& point) const
{
btAssert(m_useQuantization);
@@ -347,12 +347,12 @@ public:
void updateBvhNodes(btStridingMeshInterface* meshInterface,int firstNode,int endNode,int index);
- inline QuantizedNodeArray& getQuantizedNodeArray()
+ SIMD_FORCE_INLINE QuantizedNodeArray& getQuantizedNodeArray()
{
return m_quantizedContiguousNodes;
}
- inline BvhSubtreeInfoArray& getSubtreeInfoArray()
+ SIMD_FORCE_INLINE BvhSubtreeInfoArray& getSubtreeInfoArray()
{
return m_SubtreeHeaders;
}
@@ -368,7 +368,7 @@ public:
static unsigned int getAlignmentSerializationPadding();
- inline bool isQuantized()
+ SIMD_FORCE_INLINE bool isQuantized()
{
return m_useQuantization;
}