Public Member Functions | Protected Member Functions | Protected Attributes | Friends
b2Fixture Class Reference

#include <b2Fixture.h>

List of all members.

Public Member Functions

void Dump (int32 bodyIndex)
 Dump this fixture to the log file.
const b2AABBGetAABB (int32 childIndex) const
b2BodyGetBody ()
const b2BodyGetBody () const
float32 GetDensity () const
 Get the density of this fixture.
const b2FilterGetFilterData () const
 Get the contact filtering data.
float32 GetFriction () const
 Get the coefficient of friction.
void GetMassData (b2MassData *massData) const
b2FixtureGetNext ()
const b2FixtureGetNext () const
float32 GetRestitution () const
 Get the coefficient of restitution.
b2ShapeGetShape ()
const b2ShapeGetShape () 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

b2Bodym_body
float32 m_density
b2Filter m_filter
float32 m_friction
bool m_isSensor
b2Fixturem_next
b2FixtureProxym_proxies
int32 m_proxyCount
float32 m_restitution
b2Shapem_shape
void * m_userData

Friends

class b2Body
class b2Contact
class b2ContactManager
class b2World

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.

Definition at line 107 of file b2Fixture.h.


Constructor & Destructor Documentation

b2Fixture::b2Fixture ( ) [protected]

Definition at line 30 of file b2Fixture.cpp.


Member Function Documentation

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.

Returns:
the parent body.

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.

Returns:
the next shape.

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.

Returns:
the shape type.

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)?

Returns:
the true if the shape is a sensor.

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.

Parameters:
outputthe ray-cast results.
inputthe ray-cast input parameters.

Definition at line 329 of file b2Fixture.h.

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.

Parameters:
pa point in world coordinates.

Definition at line 324 of file b2Fixture.h.


Friends And Related Function Documentation

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.


Member Data Documentation

b2Body* b2Fixture::m_body [protected]

Definition at line 221 of file b2Fixture.h.

Definition at line 218 of file b2Fixture.h.

Definition at line 231 of file b2Fixture.h.

Definition at line 225 of file b2Fixture.h.

bool b2Fixture::m_isSensor [protected]

Definition at line 233 of file b2Fixture.h.

Definition at line 220 of file b2Fixture.h.

Definition at line 228 of file b2Fixture.h.

Definition at line 229 of file b2Fixture.h.

Definition at line 226 of file b2Fixture.h.

Definition at line 223 of file b2Fixture.h.

void* b2Fixture::m_userData [protected]

Definition at line 235 of file b2Fixture.h.


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


mvsim
Author(s):
autogenerated on Thu Sep 7 2017 09:27:49