16#ifndef BT_BROADPHASE_PROXY_H
17#define BT_BROADPHASE_PROXY_H
121 btBroadphaseProxy(
const btVector3& aabbMin,
const btVector3& aabbMax,
void* userPtr,
int collisionFilterGroup,
int collisionFilterMask)
173struct btBroadphaseProxy;
193 if (proxy0.m_uniqueId < proxy1.m_uniqueId)
232 const int uidA0 = a.m_pProxy0 ? a.m_pProxy0->m_uniqueId : -1;
233 const int uidB0 =
b.m_pProxy0 ?
b.m_pProxy0->m_uniqueId : -1;
234 const int uidA1 = a.m_pProxy1 ? a.m_pProxy1->m_uniqueId : -1;
235 const int uidB1 =
b.m_pProxy1 ?
b.m_pProxy1->m_uniqueId : -1;
237 return uidA0 > uidB0 ||
238 (a.m_pProxy0 ==
b.m_pProxy0 && uidA1 > uidB1) ||
239 (a.m_pProxy0 ==
b.m_pProxy0 && a.m_pProxy1 ==
b.m_pProxy1 && a.m_algorithm >
b.m_algorithm);
245 return (a.m_pProxy0 ==
b.m_pProxy0) && (a.m_pProxy1 ==
b.m_pProxy1);
CollisionFilterGroups
optional filtering to cull potential collisions
@ CONVEX_POINT_CLOUD_SHAPE_PROXYTYPE
@ MINKOWSKI_SUM_SHAPE_PROXYTYPE
@ CUSTOM_POLYHEDRAL_SHAPE_TYPE
@ CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE
@ COMPOUND_SHAPE_PROXYTYPE
@ CONCAVE_SHAPES_START_HERE
@ IMPLICIT_CONVEX_SHAPES_START_HERE
@ HFFLUID_BUOYANT_CONVEX_SHAPE_PROXYTYPE
@ GIMPACT_SHAPE_PROXYTYPE
Used for GIMPACT Trimesh integration.
@ SOFTBODY_SHAPE_PROXYTYPE
@ CONVEX_2D_SHAPE_PROXYTYPE
@ SCALED_TRIANGLE_MESH_SHAPE_PROXYTYPE
@ TRIANGLE_SHAPE_PROXYTYPE
@ TRIANGLE_MESH_SHAPE_PROXYTYPE
@ TERRAIN_SHAPE_PROXYTYPE
@ MULTIMATERIAL_TRIANGLE_MESH_PROXYTYPE
Multimaterial mesh.
@ CUSTOM_CONCAVE_SHAPE_TYPE
@ INVALID_SHAPE_PROXYTYPE
@ UNIFORM_SCALING_SHAPE_PROXYTYPE
@ MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE
@ CUSTOM_CONVEX_SHAPE_TYPE
@ MULTI_SPHERE_SHAPE_PROXYTYPE
@ CYLINDER_SHAPE_PROXYTYPE
@ FAST_CONCAVE_MESH_PROXYTYPE
used for demo integration FAST/Swift collision library and Bullet
@ MAX_BROADPHASE_COLLISION_TYPES
@ CAPSULE_SHAPE_PROXYTYPE
@ TETRAHEDRAL_SHAPE_PROXYTYPE
@ HFFLUID_SHAPE_PROXYTYPE
@ CONCAVE_SHAPES_END_HERE
@ CONVEX_HULL_SHAPE_PROXYTYPE
int m_collisionFilterGroup
SIMD_FORCE_INLINE bool operator==(const btBroadphasePair &a, const btBroadphasePair &b)
btBroadphaseProxy * m_pProxy0
btCollisionAlgorithm * m_algorithm
int m_collisionFilterMask
btBroadphaseProxy * m_pProxy1
SIMD_FORCE_INLINE int getUid() const
SIMD_FORCE_INLINE bool isSoftBody() const
SIMD_FORCE_INLINE bool isConcave() const
SIMD_FORCE_INLINE bool isNonMoving() const
SIMD_FORCE_INLINE bool isConvex() const
SIMD_FORCE_INLINE bool isConvex2d() const
SIMD_FORCE_INLINE bool isPolyhedral() const
SIMD_FORCE_INLINE bool isInfinite() const
isInfinite is used to catch simulation error (aabb check)
SIMD_FORCE_INLINE bool isCompound() const
#define BT_DECLARE_ALIGNED_ALLOCATOR()
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
bool operator()(const btBroadphasePair &a, const btBroadphasePair &b) const
local_group_size(16, 16) .push_constant(Type b