Box2D 2.4.1
A 2D physics engine for games
|
#include <b2_fixture.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. | |
bool | IsSensor () const |
void | SetFilterData (const b2Filter &filter) |
const b2Filter & | GetFilterData () const |
Get the contact filtering data. | |
void | Refilter () |
Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide. | |
b2Body * | GetBody () |
const b2Body * | GetBody () const |
b2Fixture * | GetNext () |
const b2Fixture * | GetNext () const |
b2FixtureUserData & | GetUserData () |
bool | TestPoint (const b2Vec2 &p) const |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) const |
void | GetMassData (b2MassData *massData) const |
void | SetDensity (float density) |
float | GetDensity () const |
Get the density of this fixture. | |
float | GetFriction () const |
Get the coefficient of friction. | |
void | SetFriction (float friction) |
float | GetRestitution () const |
Get the coefficient of restitution. | |
void | SetRestitution (float restitution) |
float | GetRestitutionThreshold () const |
Get the restitution velocity threshold. | |
void | SetRestitutionThreshold (float threshold) |
const b2AABB & | GetAABB (int32 childIndex) const |
void | Dump (int32 bodyIndex) |
Dump this fixture to the log file. | |
Protected Member Functions | |
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 | |
float | m_density |
b2Fixture * | m_next |
b2Body * | m_body |
b2Shape * | m_shape |
float | m_friction |
float | m_restitution |
float | m_restitutionThreshold |
b2FixtureProxy * | m_proxies |
int32 | m_proxyCount |
b2Filter | m_filter |
bool | m_isSensor |
b2FixtureUserData | m_userData |
Friends | |
class | b2Body |
class | b2World |
class | b2Contact |
class | b2ContactManager |
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.
|
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.
|
inline |
Get the parent body of this fixture. This is nullptr if the fixture is not attached.
|
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.
|
inline |
Get the next fixture in the parent body's fixture list.
|
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.
|
inline |
Get the type of the child shape. You can use this to down cast to the concrete shape.
|
inline |
Get the user data that was assigned in the fixture definition. Use this to store your application specific data.
|
inline |
Is this fixture a sensor (non-solid)?
|
inline |
Cast a ray against this shape.
output | the ray-cast results. |
input | the ray-cast input parameters. |
childIndex | the child shape index (e.g. edge index) |
|
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 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.
|
inline |
Set the coefficient of friction. This will not change the friction of existing contacts.
|
inline |
Set the coefficient of restitution. This will not change the restitution of existing contacts.
|
inline |
Set the restitution threshold. This will not change the restitution threshold of existing contacts.
|
inline |
Test a point for containment in this fixture.
p | a point in world coordinates. |