#include <b2_fixture.h>
Public Member Functions | |
void | Dump (int32 bodyIndex) |
Dump this fixture to the log file. More... | |
const b2AABB & | GetAABB (int32 childIndex) const |
b2Body * | GetBody () |
const b2Body * | GetBody () const |
float | GetDensity () const |
Get the density of this fixture. More... | |
const b2Filter & | GetFilterData () const |
Get the contact filtering data. More... | |
float | GetFriction () const |
Get the coefficient of friction. More... | |
void | GetMassData (b2MassData *massData) const |
b2Fixture * | GetNext () |
const b2Fixture * | GetNext () const |
float | GetRestitution () const |
Get the coefficient of restitution. More... | |
float | GetRestitutionThreshold () const |
Get the restitution velocity threshold. More... | |
b2Shape * | GetShape () |
const b2Shape * | GetShape () const |
b2Shape::Type | GetType () const |
b2FixtureUserData & | GetUserData () |
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. More... | |
void | SetDensity (float density) |
void | SetFilterData (const b2Filter &filter) |
void | SetFriction (float friction) |
void | SetRestitution (float restitution) |
void | SetRestitutionThreshold (float threshold) |
void | SetSensor (bool sensor) |
Set if this fixture is a sensor. More... | |
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 |
float | m_density |
b2Filter | m_filter |
float | m_friction |
bool | m_isSensor |
b2Fixture * | m_next |
b2FixtureProxy * | m_proxies |
int32 | m_proxyCount |
float | m_restitution |
float | m_restitutionThreshold |
b2Shape * | m_shape |
b2FixtureUserData | 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 116 of file b2_fixture.h.
|
protected |
Definition at line 34 of file b2_fixture.cpp.
|
protected |
Definition at line 44 of file b2_fixture.cpp.
|
protected |
Definition at line 126 of file b2_fixture.cpp.
|
protected |
Definition at line 73 of file b2_fixture.cpp.
|
protected |
Definition at line 143 of file b2_fixture.cpp.
Dump this fixture to the log file.
Definition at line 233 of file b2_fixture.cpp.
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 359 of file b2_fixture.h.
|
inline |
Get the parent body of this fixture. This is nullptr if the fixture is not attached.
Definition at line 283 of file b2_fixture.h.
|
inline |
Definition at line 288 of file b2_fixture.h.
|
inline |
Get the density of this fixture.
Definition at line 309 of file b2_fixture.h.
|
inline |
Get the contact filtering data.
Definition at line 273 of file b2_fixture.h.
|
inline |
Get the coefficient of friction.
Definition at line 314 of file b2_fixture.h.
|
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 354 of file b2_fixture.h.
|
inline |
Get the next fixture in the parent body's fixture list.
Definition at line 293 of file b2_fixture.h.
|
inline |
Definition at line 298 of file b2_fixture.h.
|
inline |
Get the coefficient of restitution.
Definition at line 324 of file b2_fixture.h.
|
inline |
Get the restitution velocity threshold.
Definition at line 334 of file b2_fixture.h.
|
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 258 of file b2_fixture.h.
|
inline |
Definition at line 263 of file b2_fixture.h.
|
inline |
Get the type of the child shape. You can use this to down cast to the concrete shape.
Definition at line 253 of file b2_fixture.h.
|
inline |
Get the user data that was assigned in the fixture definition. Use this to store your application specific data.
Definition at line 278 of file b2_fixture.h.
|
inline |
Is this fixture a sensor (non-solid)?
Definition at line 268 of file b2_fixture.h.
|
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) |
Definition at line 349 of file b2_fixture.h.
void b2Fixture::Refilter | ( | ) |
Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide.
Definition at line 187 of file b2_fixture.cpp.
|
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 303 of file b2_fixture.h.
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 180 of file b2_fixture.cpp.
|
inline |
Set the coefficient of friction. This will not change the friction of existing contacts.
Definition at line 319 of file b2_fixture.h.
|
inline |
Set the coefficient of restitution. This will not change the restitution of existing contacts.
Definition at line 329 of file b2_fixture.h.
|
inline |
Set the restitution threshold. This will not change the restitution threshold of existing contacts.
Definition at line 339 of file b2_fixture.h.
void b2Fixture::SetSensor | ( | bool | sensor | ) |
Set if this fixture is a sensor.
Definition at line 224 of file b2_fixture.cpp.
|
protected |
Definition at line 156 of file b2_fixture.cpp.
|
inline |
Test a point for containment in this fixture.
p | a point in world coordinates. |
Definition at line 344 of file b2_fixture.h.
|
friend |
Definition at line 214 of file b2_fixture.h.
|
friend |
Definition at line 216 of file b2_fixture.h.
|
friend |
Definition at line 217 of file b2_fixture.h.
|
friend |
Definition at line 215 of file b2_fixture.h.
|
protected |
Definition at line 235 of file b2_fixture.h.
|
protected |
Definition at line 232 of file b2_fixture.h.
|
protected |
Definition at line 246 of file b2_fixture.h.
|
protected |
Definition at line 239 of file b2_fixture.h.
|
protected |
Definition at line 248 of file b2_fixture.h.
|
protected |
Definition at line 234 of file b2_fixture.h.
|
protected |
Definition at line 243 of file b2_fixture.h.
|
protected |
Definition at line 244 of file b2_fixture.h.
|
protected |
Definition at line 240 of file b2_fixture.h.
|
protected |
Definition at line 241 of file b2_fixture.h.
|
protected |
Definition at line 237 of file b2_fixture.h.
|
protected |
Definition at line 250 of file b2_fixture.h.