39 return b2Sqrt(friction1 * friction2);
46 return restitution1 > restitution2 ? restitution1 : restitution2;
90 bool IsTouching()
const;
95 void SetEnabled(
bool flag);
98 bool IsEnabled()
const;
109 int32 GetChildIndexA()
const;
116 int32 GetChildIndexB()
const;
120 void SetFriction(
float32 friction);
126 void ResetFriction();
130 void SetRestitution(
float32 restitution);
133 float32 GetRestitution()
const;
136 void ResetRestitution();
139 void SetTangentSpeed(
float32 speed);
142 float32 GetTangentSpeed()
const;
158 e_islandFlag = 0x0001,
161 e_touchingFlag = 0x0002,
164 e_enabledFlag = 0x0004,
167 e_filterFlag = 0x0008,
170 e_bulletHitFlag = 0x0010,
177 void FlagForFiltering();
181 static void InitializeRegisters();
234 const b2Body* bodyA = m_fixtureA->GetBody();
235 const b2Body* bodyB = m_fixtureB->GetBody();
236 const b2Shape* shapeA = m_fixtureA->GetShape();
237 const b2Shape* shapeB = m_fixtureB->GetShape();
246 m_flags |= e_enabledFlag;
250 m_flags &= ~e_enabledFlag;
256 return (m_flags & e_enabledFlag) == e_enabledFlag;
261 return (m_flags & e_touchingFlag) == e_touchingFlag;
306 m_flags |= e_filterFlag;
341 m_tangentSpeed = speed;
346 return m_tangentSpeed;
void Create(b2BlockAllocator *allocator, b2Body *body, const b2FixtureDef *def)
A rigid body. These are created via b2World::CreateBody.
void Destroy(b2BlockAllocator *allocator)
void Initialize(const b2Manifold *manifold, const b2Transform &xfA, float32 radiusA, const b2Transform &xfB, float32 radiusB)
const b2Transform & GetTransform() const
This is used to compute the current state of a contact manifold.