|
Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
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));
195 #endif //BT_FEATHERSTONE_LINK_COLLIDER_H
btCollisionObject can be used to manage collision detection objects.
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)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
virtual void * getUniquePointer(void *oldPtr)=0
#define btMultiBodyData
serialization data, don't change them if you are not familiar with the details of the serialization m...
virtual ~btMultiBodyLinkCollider()
bool isKinematicObject() const
virtual ~btCollisionObject()
bool isStaticOrKinematic() const
bool isStaticOrKinematicObject() const
int m_internalType
m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody,...
#define btMultiBodyLinkColliderData
btMultiBodyLinkCollider(btMultiBody *multiBody, int link)
static const btMultiBodyLinkCollider * upcast(const btCollisionObject *colObj)
btMultiBodyDoubleData * m_multiBody
virtual int calculateSerializeBufferSize() const
bool hasSelfCollision() const
btCollisionObjectFloatData m_colObjData
#define btMultiBodyLinkColliderDataName
int getCollisionFlags() const
const btMultibodyLink & getLink(int index) const
btMultiBodyFloatData * m_multiBody
btCollisionObjectDoubleData m_colObjData
@ BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION
#define SIMD_FORCE_INLINE
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
void setCollisionFlags(int flags)
int getInternalType() const
reserved for Bullet internal usage
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
int m_checkCollideWith
If some object should have elaborate collision filtering by sub-classes.
btMultiBody * m_multiBody
void setDynamicType(int dynamicType)
@ BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION
virtual bool checkCollideWithOverride(const btCollisionObject *co) const