16 #ifndef BT_BROADPHASE_PROXY_H
17 #define BT_BROADPHASE_PROXY_H
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);
static SIMD_FORCE_INLINE bool isSoftBody(int proxyType)
static SIMD_FORCE_INLINE bool isConvex(int proxyType)
CollisionFilterGroups
optional filtering to cull potential collisions
static SIMD_FORCE_INLINE bool isConcave(int proxyType)
@ 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
static SIMD_FORCE_INLINE bool isInfinite(int proxyType)
SIMD_FORCE_INLINE bool operator==(const btBroadphasePair &a, const btBroadphasePair &b)
static SIMD_FORCE_INLINE bool isPolyhedral(int proxyType)
static SIMD_FORCE_INLINE bool isCompound(int proxyType)
btBroadphaseProxy * m_pProxy0
btCollisionAlgorithm * m_algorithm
int m_collisionFilterMask
btBroadphaseProxy * m_pProxy1
static SIMD_FORCE_INLINE bool isNonMoving(int proxyType)
static SIMD_FORCE_INLINE bool isConvex2d(int proxyType)
SIMD_FORCE_INLINE int getUid() const
#define BT_DECLARE_ALIGNED_ALLOCATOR()
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
bool operator()(const btBroadphasePair &a, const btBroadphasePair &b) const
static const pxr::TfToken b("b", pxr::TfToken::Immortal)