|
Box2D
2.2.1
A 2D Physics Engine for Games
|
#include <b2PolygonShape.h>
Public Member Functions | |
| b2Shape * | Clone (b2BlockAllocator *allocator) const |
| Implement b2Shape. | |
| int32 | GetChildCount () const |
| void | Set (const b2Vec2 *vertices, int32 vertexCount) |
| void | SetAsBox (float32 hx, float32 hy) |
| void | SetAsBox (float32 hx, float32 hy, const b2Vec2 ¢er, float32 angle) |
| bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const |
| bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const |
| Implement b2Shape. | |
| void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const |
| void | ComputeMass (b2MassData *massData, float32 density) const |
| int32 | GetVertexCount () const |
| Get the vertex count. | |
| const b2Vec2 & | GetVertex (int32 index) const |
| Get a vertex by index. | |
Public Attributes | |
| b2Vec2 | m_centroid |
| b2Vec2 | m_vertices [b2_maxPolygonVertices] |
| b2Vec2 | m_normals [b2_maxPolygonVertices] |
| int32 | m_vertexCount |
A convex polygon. It is assumed that the interior of the polygon is to the left of each edge. Polygons have a maximum number of vertices equal to b2_maxPolygonVertices. In most cases you should not need many vertices for a convex polygon.
| void b2PolygonShape::ComputeAABB | ( | b2AABB * | aabb, |
| const b2Transform & | transform, | ||
| int32 | childIndex | ||
| ) | const [virtual] |
Implements b2Shape.
| void b2PolygonShape::ComputeMass | ( | b2MassData * | massData, |
| float32 | density | ||
| ) | const [virtual] |
Implements b2Shape.
| int32 b2PolygonShape::GetChildCount | ( | ) | const [virtual] |
Implements b2Shape.
| void b2PolygonShape::Set | ( | const b2Vec2 * | vertices, |
| int32 | vertexCount | ||
| ) |
Copy vertices. This assumes the vertices define a convex polygon. It is assumed that the exterior is the the right of each edge. The count must be in the range [3, b2_maxPolygonVertices].
| void b2PolygonShape::SetAsBox | ( | float32 | hx, |
| float32 | hy | ||
| ) |
Build vertices to represent an axis-aligned box.
| hx | the half-width. |
| hy | the half-height. |
| void b2PolygonShape::SetAsBox | ( | float32 | hx, |
| float32 | hy, | ||
| const b2Vec2 & | center, | ||
| float32 | angle | ||
| ) |
Build vertices to represent an oriented box.
| hx | the half-width. |
| hy | the half-height. |
| center | the center of the box in local coordinates. |
| angle | the rotation of the box in local coordinates. |
| bool b2PolygonShape::TestPoint | ( | const b2Transform & | transform, |
| const b2Vec2 & | p | ||
| ) | const [virtual] |
Implements b2Shape.
1.7.5.1