16#ifndef BT_FEATHERSTONE_LINK_COLLIDER_H
17#define BT_FEATHERSTONE_LINK_COLLIDER_H
24#ifdef BT_USE_DOUBLE_PRECISION
25#define btMultiBodyLinkColliderData btMultiBodyLinkColliderDoubleData
26#define btMultiBodyLinkColliderDataName "btMultiBodyLinkColliderDoubleData"
28#define btMultiBodyLinkColliderData btMultiBodyLinkColliderFloatData
29#define btMultiBodyLinkColliderDataName "btMultiBodyLinkColliderFloatData"
90 int parent_of_this =
m_link;
93 if (parent_of_this == -1)
96 if (parent_of_this == other->
m_link)
114 int parent_of_other = other->
m_link;
117 if (parent_of_other == -1)
120 if (parent_of_other == this->m_link)
126 if (otherLink.
m_parent == this->m_link)
186 dataOut->m_link = this->
m_link;
190 memset(dataOut->m_padding, 0,
sizeof(dataOut->m_padding));
#define btMultiBodyLinkColliderData
#define btMultiBodyLinkColliderDataName
@ BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION
@ BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION
#define btMultiBodyData
serialization data, don't change them if you are not familiar with the details of the serialization m...
#define SIMD_FORCE_INLINE
btCollisionObject can be used to manage collision detection objects.
bool isStaticOrKinematicObject() const
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
void setCollisionFlags(int flags)
int m_checkCollideWith
If some object should have elaborate collision filtering by sub-classes.
int getInternalType() const
reserved for Bullet internal usage
int m_internalType
m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody,...
bool isKinematicObject() const
virtual ~btCollisionObject()
int getCollisionFlags() const
btMultiBodyLinkCollider(btMultiBody *multiBody, int link)
static const btMultiBodyLinkCollider * upcast(const btCollisionObject *colObj)
virtual int calculateSerializeBufferSize() const
static btMultiBodyLinkCollider * upcast(btCollisionObject *colObj)
virtual ~btMultiBodyLinkCollider()
bool isStaticOrKinematic() const
virtual bool checkCollideWithOverride(const btCollisionObject *co) const
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btMultiBody * m_multiBody
void setDynamicType(int dynamicType)
bool hasSelfCollision() const
const btMultibodyLink & getLink(int index) const
virtual void * getUniquePointer(void *oldPtr)=0
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btMultiBodyDoubleData * m_multiBody
btCollisionObjectDoubleData m_colObjData
btMultiBodyFloatData * m_multiBody
btCollisionObjectFloatData m_colObjData