Torque2D Reference
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
 
b2ShapeGetShape ()
 
const b2ShapeGetShape () const
 
void SetSensor (bool sensor)
 Set if this fixture is a sensor. More...
 
bool IsSensor () const
 
void SetFilterData (const b2Filter &filter)
 
const b2FilterGetFilterData () 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...
 
b2BodyGetBody ()
 
const b2BodyGetBody () const
 
b2FixtureGetNext ()
 
const b2FixtureGetNext () 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 b2AABBGetAABB (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
 
b2Fixturem_next
 
b2Bodym_body
 
b2Shapem_shape
 
float32 m_friction
 
float32 m_restitution
 
b2FixtureProxym_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
outputthe ray-cast results.
inputthe 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
pa 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: