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)
95 parent_of_this =
m_multiBody->getLink(parent_of_this).m_parent;
96 if (parent_of_this == other->
m_link)
114 int parent_of_other = other->
m_link;
117 if (parent_of_other == -1)
119 parent_of_other =
m_multiBody->getLink(parent_of_other).m_parent;
120 if (parent_of_other == this->m_link)
126 if (otherLink.
m_parent == this->m_link)
169 dataOut->m_link = this->
m_link;
173 memset(dataOut->m_padding, 0,
sizeof(dataOut->m_padding));
int m_checkCollideWith
If some object should have elaborate collision filtering by sub-classes.
virtual ~btCollisionObject()
#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...
virtual bool serialize(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const
Data buffer MUST be 16 byte aligned.
#define SIMD_FORCE_INLINE
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)
virtual ~btMultiBodyLinkCollider()
static const btMultiBodyLinkCollider * upcast(const btCollisionObject *colObj)
virtual bool checkCollideWithOverride(const btCollisionObject *co) const
btMultiBody * m_multiBody
static btMultiBodyLinkCollider * upcast(btCollisionObject *colObj)
virtual int calculateSerializeBufferSize() 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
btMultiBodyDoubleData * m_multiBody
btCollisionObjectDoubleData m_colObjData
btMultiBodyFloatData * m_multiBody
btCollisionObjectFloatData m_colObjData