Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
b2Fixture Class Reference

`#include <b2Fixture.h>`

## Public Member Functions
b2Shape::Type | GetType () const
b2Shape * | GetShape ()
const b2Shape * | GetShape () const
void | SetSensor (bool sensor)
| Set if this fixture is a sensor. More...
bool | IsSensor () const
void | SetFilterData (const b2Filter &filter)
const b2Filter & | GetFilterData () const
| Get the contact filtering data. More...
void | Refilter ()
| Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide. More...
b2Body * | GetBody ()
const b2Body * | GetBody () const
b2Fixture * | GetNext ()
const b2Fixture * | GetNext () const
void * | GetUserData () const
void | SetUserData (void *data)
| Set the user data. Use this to store your application specific data. More...
bool | TestPoint (const b2Vec2 &p) const
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) const
void | GetMassData (b2MassData *massData) const
void | SetDensity (float32 density)
float32 | GetDensity () const
| Get the density of this fixture. More...
float32 | GetFriction () const
| Get the coefficient of friction. More...
void | SetFriction (float32 friction)
float32 | GetRestitution () const
| Get the coefficient of restitution. More...
void | SetRestitution (float32 restitution)
const b2AABB & | GetAABB (int32 childIndex) const
void | Dump (int32 bodyIndex)
| Dump this fixture to the log file. More...

## Protected Member Functions
| b2Fixture ()
void | Create (b2BlockAllocator *allocator, b2Body *body, const b2FixtureDef *def)
void | Destroy (b2BlockAllocator *allocator)
void | CreateProxies (b2BroadPhase *broadPhase, const b2Transform &xf)
void | DestroyProxies (b2BroadPhase *broadPhase)
void | Synchronize (b2BroadPhase *broadPhase, const b2Transform &xf1, const b2Transform &xf2)

## Protected Attributes
float32 | m_density
b2Fixture * | m_next
b2Body * | m_body
b2Shape * | m_shape
float32 | m_friction
float32 | m_restitution
b2FixtureProxy * | m_proxies
int32 | m_proxyCount
b2Filter | m_filter
bool | m_isSensor
void * | m_userData

## Friends
class | b2Body
class | b2World
class | b2Contact
class | b2ContactManager

## Detailed Description

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.

Warning
  you cannot reuse fixtures.

## Constructor & Destructor Documentation

b2Fixture | ( |  | ) |
| protected

## Member Function Documentation

void Create | ( | b2BlockAllocator * | allocator,
|  | b2Body * | body,
|  | const b2FixtureDef * | def
| ) |  |
| protected

void CreateProxies | ( | b2BroadPhase * | broadPhase,
|  | const b2Transform & | xf
| ) |  |
| protected

void Destroy | ( | b2BlockAllocator * | allocator | ) |
| protected

void DestroyProxies | ( | b2BroadPhase * | broadPhase | ) |
| protected

void Dump | ( | int32 | bodyIndex | ) |

Dump this fixture to the log file.

const b2AABB & 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.

b2Body * GetBody | ( |  | ) |
| inline

Get the parent body of this fixture. This is NULL if the fixture is not attached.

Returns
  the parent body.

const b2Body * GetBody | ( |  | ) | const
| inline

float32 GetDensity | ( |  | ) | const
| inline

Get the density of this fixture.

const b2Filter & GetFilterData | ( |  | ) | const
| inline

Get the contact filtering data.

float32 GetFriction | ( |  | ) | const
| inline

Get the coefficient of friction.

void 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.

b2Fixture * GetNext | ( |  | ) |
| inline

Get the next fixture in the parent body's fixture list.

Returns
  the next shape.

const b2Fixture * GetNext | ( |  | ) | const
| inline

float32 GetRestitution | ( |  | ) | const
| inline

Get the coefficient of restitution.

b2Shape * 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.

const b2Shape * GetShape | ( |  | ) | const
| inline

b2Shape::Type GetType | ( |  | ) | const
| inline

Get the type of the child shape. You can use this to down cast to the concrete shape.

Returns
  the shape type.

void * GetUserData | ( |  | ) | const
| inline

Get the user data that was assigned in the fixture definition. Use this to store your application specific data.

bool IsSensor | ( |  | ) | const
| inline

Is this fixture a sensor (non-solid)?

Returns
  the true if the shape is a sensor.

bool RayCast | ( | b2RayCastOutput * | output,
|  | const b2RayCastInput & | input,
|  | int32 | childIndex
| ) |  | const
| inline

Cast a ray against this shape.

Parameters

  output | the ray-cast results.
  input | the ray-cast input parameters.

void Refilter | ( |  | ) |

Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide.

void 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.

void 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.

void SetFriction | ( | float32 | friction | ) |
| inline

Set the coefficient of friction. This will not change the friction of existing contacts.

void SetRestitution | ( | float32 | restitution | ) |
| inline

Set the coefficient of restitution. This will not change the restitution of existing contacts.

void SetSensor | ( | bool | sensor | ) |

Set if this fixture is a sensor.

void SetUserData | ( | void * | data | ) |
| inline

Set the user data. Use this to store your application specific data.

void Synchronize | ( | b2BroadPhase * | broadPhase,
|  | const b2Transform & | xf1,
|  | const b2Transform & | xf2
| ) |  |
| protected

bool TestPoint | ( | const b2Vec2 & | p | ) | const
| inline

Test a point for containment in this fixture.

Parameters

  p | a point in world coordinates.

## Friends And Related Function Documentation

friend class b2Body
| friend

friend class b2Contact
| friend

friend class b2ContactManager
| friend

friend class b2World
| friend

## Member Data Documentation

b2Body* m_body
| protected

float32 m_density
| protected

b2Filter m_filter
| protected

float32 m_friction
| protected

bool m_isSensor
| protected

b2Fixture* m_next
| protected

b2FixtureProxy* m_proxies
| protected

int32 m_proxyCount
| protected

float32 m_restitution
| protected

b2Shape* m_shape
| protected

void* m_userData
| protected

The documentation for this class was generated from the following files:

- Box2D/Dynamics/b2Fixture.h
- Box2D/Dynamics/b2Fixture.cpp