77static const b2WorldId b2_nullWorldId = B2_ZERO_INIT;
78static const b2BodyId b2_nullBodyId = B2_ZERO_INIT;
79static const b2ShapeId b2_nullShapeId = B2_ZERO_INIT;
80static const b2ChainId b2_nullChainId = B2_ZERO_INIT;
81static const b2JointId b2_nullJointId = B2_ZERO_INIT;
84#define B2_IS_NULL( id ) ( id.index1 == 0 )
87#define B2_IS_NON_NULL( id ) ( id.index1 != 0 )
90#define B2_ID_EQUALS( id1, id2 ) ( id1.index1 == id2.index1 && id1.world0 == id2.world0 && id1.generation == id2.generation )
95 return ( (uint64_t)
id.index1 << 32 ) | ( (uint64_t)
id.world0 ) << 16 | (uint64_t)
id.generation;
101 b2BodyId id = { (int32_t)( x >> 32 ), (uint16_t)( x >> 16 ), (uint16_t)( x ) };
108 return ( (uint64_t)
id.index1 << 32 ) | ( (uint64_t)
id.world0 ) << 16 | (uint64_t)
id.generation;
114 b2ShapeId id = { (int32_t)( x >> 32 ), (uint16_t)( x >> 16 ), (uint16_t)( x ) };
121 return ( (uint64_t)
id.index1 << 32 ) | ( (uint64_t)
id.world0 ) << 16 | (uint64_t)
id.generation;
127 b2ChainId id = { (int32_t)( x >> 32 ), (uint16_t)( x >> 16 ), (uint16_t)( x ) };
134 return ( (uint64_t)
id.index1 << 32 ) | ( (uint64_t)
id.world0 ) << 16 | (uint64_t)
id.generation;
140 b2JointId id = { (int32_t)( x >> 32 ), (uint16_t)( x >> 16 ), (uint16_t)( x ) };
uint64_t b2StoreShapeId(b2ShapeId id)
Store a shape id into a uint64_t.
Definition id.h:106
uint64_t b2StoreJointId(b2JointId id)
Store a joint id into a uint64_t.
Definition id.h:132
uint64_t b2StoreChainId(b2ChainId id)
Store a chain id into a uint64_t.
Definition id.h:119
uint64_t b2StoreBodyId(b2BodyId id)
Store a body id into a uint64_t.
Definition id.h:93
b2ChainId b2LoadChainId(uint64_t x)
Load a uint64_t into a chain id.
Definition id.h:125
b2JointId b2LoadJointId(uint64_t x)
Load a uint64_t into a joint id.
Definition id.h:138
b2BodyId b2LoadBodyId(uint64_t x)
Load a uint64_t into a body id.
Definition id.h:99
b2ShapeId b2LoadShapeId(uint64_t x)
Load a uint64_t into a shape id.
Definition id.h:112
Body id references a body instance. This should be treated as an opaque handle.
Definition id.h:45
Chain id references a chain instances. This should be treated as an opaque handle.
Definition id.h:61
Joint id references a joint instance. This should be treated as an opaque handle.
Definition id.h:69
Shape id references a shape instance. This should be treated as an opaque handle.
Definition id.h:53
World id references a world instance. This should be treated as an opaque handle.
Definition id.h:38