#include <b2Fixture.h>
Public Member Functions | |
void | Dump (int32 bodyIndex) |
Dump this fixture to the log file. | |
const b2AABB & | GetAABB (int32 childIndex) const |
b2Body * | GetBody () |
const b2Body * | GetBody () const |
float32 | GetDensity () const |
Get the density of this fixture. | |
const b2Filter & | GetFilterData () const |
Get the contact filtering data. | |
float32 | GetFriction () const |
Get the coefficient of friction. | |
void | GetMassData (b2MassData *massData) const |
b2Fixture * | GetNext () |
const b2Fixture * | GetNext () const |
float32 | GetRestitution () const |
Get the coefficient of restitution. | |
b2Shape * | GetShape () |
const b2Shape * | GetShape () const |
b2Shape::Type | GetType () const |
void * | GetUserData () const |
bool | IsSensor () const |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) const |
void | Refilter () |
Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide. | |
void | SetDensity (float32 density) |
void | SetFilterData (const b2Filter &filter) |
void | SetFriction (float32 friction) |
void | SetRestitution (float32 restitution) |
void | SetSensor (bool sensor) |
Set if this fixture is a sensor. | |
void | SetUserData (void *data) |
Set the user data. Use this to store your application specific data. | |
bool | TestPoint (const b2Vec2 &p) const |
Protected Member Functions | |
b2Fixture () | |
void | Create (b2BlockAllocator *allocator, b2Body *body, const b2FixtureDef *def) |
void | CreateProxies (b2BroadPhase *broadPhase, const b2Transform &xf) |
void | Destroy (b2BlockAllocator *allocator) |
void | DestroyProxies (b2BroadPhase *broadPhase) |
void | Synchronize (b2BroadPhase *broadPhase, const b2Transform &xf1, const b2Transform &xf2) |
Protected Attributes | |
b2Body * | m_body |
float32 | m_density |
b2Filter | m_filter |
float32 | m_friction |
bool | m_isSensor |
b2Fixture * | m_next |
b2FixtureProxy * | m_proxies |
int32 | m_proxyCount |
float32 | m_restitution |
b2Shape * | m_shape |
void * | m_userData |
Friends | |
class | b2Body |
class | b2Contact |
class | b2ContactManager |
class | b2World |
A fixture is used to attach a shape to a body for collision detection. A fixture inherits its transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc. Fixtures are created via b2Body::CreateFixture.
Definition at line 107 of file b2Fixture.h.
b2Fixture::b2Fixture | ( | ) | [protected] |
Definition at line 30 of file b2Fixture.cpp.
void b2Fixture::Create | ( | b2BlockAllocator * | allocator, |
b2Body * | body, | ||
const b2FixtureDef * | def | ||
) | [protected] |
Definition at line 41 of file b2Fixture.cpp.
void b2Fixture::CreateProxies | ( | b2BroadPhase * | broadPhase, |
const b2Transform & | xf | ||
) | [protected] |
Definition at line 122 of file b2Fixture.cpp.
void b2Fixture::Destroy | ( | b2BlockAllocator * | allocator | ) | [protected] |
Definition at line 69 of file b2Fixture.cpp.
void b2Fixture::DestroyProxies | ( | b2BroadPhase * | broadPhase | ) | [protected] |
Definition at line 139 of file b2Fixture.cpp.
void b2Fixture::Dump | ( | int32 | bodyIndex | ) |
Dump this fixture to the log file.
Definition at line 229 of file b2Fixture.cpp.
const b2AABB & b2Fixture::GetAABB | ( | int32 | childIndex | ) | const [inline] |
Get the fixture's AABB. This AABB may be enlarge and/or stale. If you need a more accurate AABB, compute it using the shape and the body transform.
Definition at line 339 of file b2Fixture.h.
b2Body * b2Fixture::GetBody | ( | ) | [inline] |
Get the parent body of this fixture. This is NULL if the fixture is not attached.
Definition at line 273 of file b2Fixture.h.
const b2Body * b2Fixture::GetBody | ( | ) | const [inline] |
Definition at line 278 of file b2Fixture.h.
float32 b2Fixture::GetDensity | ( | ) | const [inline] |
Get the density of this fixture.
Definition at line 299 of file b2Fixture.h.
const b2Filter & b2Fixture::GetFilterData | ( | ) | const [inline] |
Get the contact filtering data.
Definition at line 258 of file b2Fixture.h.
float32 b2Fixture::GetFriction | ( | ) | const [inline] |
Get the coefficient of friction.
Definition at line 304 of file b2Fixture.h.
void b2Fixture::GetMassData | ( | b2MassData * | massData | ) | const [inline] |
Get the mass data for this fixture. The mass data is based on the density and the shape. The rotational inertia is about the shape's origin. This operation may be expensive.
Definition at line 334 of file b2Fixture.h.
b2Fixture * b2Fixture::GetNext | ( | ) | [inline] |
Get the next fixture in the parent body's fixture list.
Definition at line 283 of file b2Fixture.h.
const b2Fixture * b2Fixture::GetNext | ( | ) | const [inline] |
Definition at line 288 of file b2Fixture.h.
float32 b2Fixture::GetRestitution | ( | ) | const [inline] |
Get the coefficient of restitution.
Definition at line 314 of file b2Fixture.h.
b2Shape * b2Fixture::GetShape | ( | ) | [inline] |
Get the child shape. You can modify the child shape, however you should not change the number of vertices because this will crash some collision caching mechanisms. Manipulating the shape may lead to non-physical behavior.
Definition at line 243 of file b2Fixture.h.
const b2Shape * b2Fixture::GetShape | ( | ) | const [inline] |
Definition at line 248 of file b2Fixture.h.
b2Shape::Type b2Fixture::GetType | ( | ) | const [inline] |
Get the type of the child shape. You can use this to down cast to the concrete shape.
Definition at line 238 of file b2Fixture.h.
void * b2Fixture::GetUserData | ( | ) | const [inline] |
Get the user data that was assigned in the fixture definition. Use this to store your application specific data.
Definition at line 263 of file b2Fixture.h.
bool b2Fixture::IsSensor | ( | ) | const [inline] |
Is this fixture a sensor (non-solid)?
Definition at line 253 of file b2Fixture.h.
bool b2Fixture::RayCast | ( | b2RayCastOutput * | output, |
const b2RayCastInput & | input, | ||
int32 | childIndex | ||
) | const [inline] |
Cast a ray against this shape.
output | the ray-cast results. |
input | the ray-cast input parameters. |
Definition at line 329 of file b2Fixture.h.
void b2Fixture::Refilter | ( | ) |
Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide.
Definition at line 183 of file b2Fixture.cpp.
void b2Fixture::SetDensity | ( | float32 | density | ) | [inline] |
Set the density of this fixture. This will _not_ automatically adjust the mass of the body. You must call b2Body::ResetMassData to update the body's mass.
Definition at line 293 of file b2Fixture.h.
void b2Fixture::SetFilterData | ( | const b2Filter & | filter | ) |
Set the contact filtering data. This will not update contacts until the next time step when either parent body is active and awake. This automatically calls Refilter.
Definition at line 176 of file b2Fixture.cpp.
void b2Fixture::SetFriction | ( | float32 | friction | ) | [inline] |
Set the coefficient of friction. This will _not_ change the friction of existing contacts.
Definition at line 309 of file b2Fixture.h.
void b2Fixture::SetRestitution | ( | float32 | restitution | ) | [inline] |
Set the coefficient of restitution. This will _not_ change the restitution of existing contacts.
Definition at line 319 of file b2Fixture.h.
void b2Fixture::SetSensor | ( | bool | sensor | ) |
Set if this fixture is a sensor.
Definition at line 220 of file b2Fixture.cpp.
void b2Fixture::SetUserData | ( | void * | data | ) | [inline] |
Set the user data. Use this to store your application specific data.
Definition at line 268 of file b2Fixture.h.
void b2Fixture::Synchronize | ( | b2BroadPhase * | broadPhase, |
const b2Transform & | xf1, | ||
const b2Transform & | xf2 | ||
) | [protected] |
Definition at line 152 of file b2Fixture.cpp.
bool b2Fixture::TestPoint | ( | const b2Vec2 & | p | ) | const [inline] |
Test a point for containment in this fixture.
p | a point in world coordinates. |
Definition at line 324 of file b2Fixture.h.
friend class b2Body [friend] |
Definition at line 200 of file b2Fixture.h.
friend class b2Contact [friend] |
Definition at line 202 of file b2Fixture.h.
friend class b2ContactManager [friend] |
Definition at line 203 of file b2Fixture.h.
friend class b2World [friend] |
Definition at line 201 of file b2Fixture.h.
b2Body* b2Fixture::m_body [protected] |
Definition at line 221 of file b2Fixture.h.
float32 b2Fixture::m_density [protected] |
Definition at line 218 of file b2Fixture.h.
b2Filter b2Fixture::m_filter [protected] |
Definition at line 231 of file b2Fixture.h.
float32 b2Fixture::m_friction [protected] |
Definition at line 225 of file b2Fixture.h.
bool b2Fixture::m_isSensor [protected] |
Definition at line 233 of file b2Fixture.h.
b2Fixture* b2Fixture::m_next [protected] |
Definition at line 220 of file b2Fixture.h.
b2FixtureProxy* b2Fixture::m_proxies [protected] |
Definition at line 228 of file b2Fixture.h.
int32 b2Fixture::m_proxyCount [protected] |
Definition at line 229 of file b2Fixture.h.
float32 b2Fixture::m_restitution [protected] |
Definition at line 226 of file b2Fixture.h.
b2Shape* b2Fixture::m_shape [protected] |
Definition at line 223 of file b2Fixture.h.
void* b2Fixture::m_userData [protected] |
Definition at line 235 of file b2Fixture.h.