#include <b2PolygonShape.h>
Public Member Functions | |
b2PolygonShape () | |
b2Shape * | Clone (b2BlockAllocator *allocator) const |
Implement b2Shape. | |
void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const |
void | ComputeMass (b2MassData *massData, float32 density) const |
int32 | GetChildCount () const |
const b2Vec2 & | GetVertex (int32 index) const |
Get a vertex by index. | |
int32 | GetVertexCount () const |
Get the vertex count. | |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const |
Implement b2Shape. | |
void | Set (const b2Vec2 *points, int32 count) |
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 | Validate () const |
Public Attributes | |
b2Vec2 | m_centroid |
int32 | m_count |
b2Vec2 | m_normals [b2_maxPolygonVertices] |
b2Vec2 | m_vertices [b2_maxPolygonVertices] |
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.
Definition at line 28 of file b2PolygonShape.h.
b2PolygonShape::b2PolygonShape | ( | ) | [inline] |
Definition at line 87 of file b2PolygonShape.h.
b2Shape * b2PolygonShape::Clone | ( | b2BlockAllocator * | allocator | ) | const [virtual] |
void b2PolygonShape::ComputeAABB | ( | b2AABB * | aabb, |
const b2Transform & | transform, | ||
int32 | childIndex | ||
) | const [virtual] |
Implements b2Shape.
Definition at line 339 of file b2PolygonShape.cpp.
void b2PolygonShape::ComputeMass | ( | b2MassData * | massData, |
float32 | density | ||
) | const [virtual] |
Implements b2Shape.
Definition at line 358 of file b2PolygonShape.cpp.
int32 b2PolygonShape::GetChildCount | ( | ) | const [virtual] |
Implements b2Shape.
Definition at line 69 of file b2PolygonShape.cpp.
const b2Vec2 & b2PolygonShape::GetVertex | ( | int32 | index | ) | const [inline] |
Get a vertex by index.
Definition at line 95 of file b2PolygonShape.h.
int32 b2PolygonShape::GetVertexCount | ( | ) | const [inline] |
Get the vertex count.
Definition at line 72 of file b2PolygonShape.h.
bool b2PolygonShape::RayCast | ( | b2RayCastOutput * | output, |
const b2RayCastInput & | input, | ||
const b2Transform & | transform, | ||
int32 | childIndex | ||
) | const [virtual] |
void b2PolygonShape::Set | ( | const b2Vec2 * | points, |
int32 | count | ||
) |
Create a convex hull from the given array of local points. The count must be in the range [3, b2_maxPolygonVertices].
Definition at line 120 of file b2PolygonShape.cpp.
void b2PolygonShape::SetAsBox | ( | float32 | hx, |
float32 | hy | ||
) |
Build vertices to represent an axis-aligned box centered on the local origin.
hx | the half-width. |
hy | the half-height. |
Definition at line 30 of file b2PolygonShape.cpp.
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. |
Definition at line 44 of file b2PolygonShape.cpp.
bool b2PolygonShape::TestPoint | ( | const b2Transform & | transform, |
const b2Vec2 & | p | ||
) | const [virtual] |
bool b2PolygonShape::Validate | ( | ) | const |
Validate convexity. This is a very time consuming operation.
Definition at line 441 of file b2PolygonShape.cpp.
Definition at line 81 of file b2PolygonShape.h.
Definition at line 84 of file b2PolygonShape.h.
Definition at line 83 of file b2PolygonShape.h.
Definition at line 82 of file b2PolygonShape.h.