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" 86 int parent_of_this =
m_link;
89 if (parent_of_this == -1)
92 if (parent_of_this == other->
m_link)
110 int parent_of_other = other->
m_link;
113 if (parent_of_other == -1)
116 if (parent_of_other == this->m_link)
122 if (otherLink.
m_parent == this->m_link)
165 dataOut->m_link = this->
m_link;
169 memset(dataOut->m_padding, 0,
sizeof(dataOut->m_padding));
174 #endif //BT_FEATHERSTONE_LINK_COLLIDER_H
virtual bool checkCollideWithOverride(const btCollisionObject *co) const
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
static btMultiBodyLinkCollider * upcast(btCollisionObject *colObj)
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual void * getUniquePointer(void *oldPtr)=0
#define btMultiBodyLinkColliderDataName
btCollisionObjectDoubleData m_colObjData
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btCollisionObjectFloatData m_colObjData
#define SIMD_FORCE_INLINE
btMultiBodyFloatData * m_multiBody
virtual ~btCollisionObject()
btMultiBodyLinkCollider(btMultiBody *multiBody, int link)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
#define btMultiBodyLinkColliderData
int m_internalType
m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody, btSoftBody, btGhostObject etc.
virtual int calculateSerializeBufferSize() const
static const btMultiBodyLinkCollider * upcast(const btCollisionObject *colObj)
btCollisionObject can be used to manage collision detection objects.
const btMultibodyLink & getLink(int index) const
bool hasSelfCollision() const
#define btMultiBodyData
serialization data, don't change them if you are not familiar with the details of the serialization m...
int getInternalType() const
reserved for Bullet internal usage
int m_checkCollideWith
If some object should have elaborate collision filtering by sub-classes.
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btMultiBody * m_multiBody
btMultiBodyDoubleData * m_multiBody