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" 43 :m_multiBody(multiBody),
89 int parent_of_this =
m_link;
92 if (parent_of_this==-1)
95 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)
167 dataOut->m_link = this->
m_link;
171 memset(dataOut->m_padding, 0,
sizeof(dataOut->m_padding));
176 #endif //BT_FEATHERSTONE_LINK_COLLIDER_H
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 ...
static btMultiBodyLinkCollider * upcast(btCollisionObject *colObj)
const btMultibodyLink & getLink(int index) const
int getInternalType() const
reserved for Bullet internal usage
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
virtual bool checkCollideWithOverride(const btCollisionObject *co) const
btMultiBodyFloatData * m_multiBody
btMultiBodyLinkCollider(btMultiBody *multiBody, int link)
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 ...
#define btMultiBodyLinkColliderData
int m_internalType
m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody, btSoftBody, btGhostObject etc.
static const btMultiBodyLinkCollider * upcast(const btCollisionObject *colObj)
btCollisionObject can be used to manage collision detection objects.
bool hasSelfCollision() const
#define btMultiBodyData
serialization data, don't change them if you are not familiar with the details of the serialization m...
int m_checkCollideWith
If some object should have elaborate collision filtering by sub-classes.
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btMultiBody * m_multiBody
btMultiBodyDoubleData * m_multiBody
virtual int calculateSerializeBufferSize() const