#include <b2ChainShape.h>
Public Member Functions | |
b2ChainShape () | |
void | Clear () |
Clear all data. | |
b2Shape * | Clone (b2BlockAllocator *allocator) const |
Implement b2Shape. Vertices are cloned using b2Alloc. | |
void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const |
void | ComputeMass (b2MassData *massData, float32 density) const |
void | CreateChain (const b2Vec2 *vertices, int32 count) |
void | CreateLoop (const b2Vec2 *vertices, int32 count) |
int32 | GetChildCount () const |
void | GetChildEdge (b2EdgeShape *edge, int32 index) const |
Get a child edge. | |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const |
Implement b2Shape. | |
void | SetNextVertex (const b2Vec2 &nextVertex) |
void | SetPrevVertex (const b2Vec2 &prevVertex) |
bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const |
~b2ChainShape () | |
The destructor frees the vertices using b2Free. | |
Public Attributes | |
int32 | m_count |
The vertex count. | |
bool | m_hasNextVertex |
bool | m_hasPrevVertex |
b2Vec2 | m_nextVertex |
b2Vec2 | m_prevVertex |
b2Vec2 * | m_vertices |
The vertices. Owned by this class. |
A chain shape is a free form sequence of line segments. The chain has two-sided collision, so you can use inside and outside collision. Therefore, you may use any winding order. Since there may be many vertices, they are allocated using b2Alloc. Connectivity information is used to create smooth collisions. WARNING: The chain will not collide properly if there are self-intersections.
Definition at line 32 of file b2ChainShape.h.
b2ChainShape::b2ChainShape | ( | ) | [inline] |
Definition at line 95 of file b2ChainShape.h.
The destructor frees the vertices using b2Free.
Definition at line 24 of file b2ChainShape.cpp.
void b2ChainShape::Clear | ( | ) |
Clear all data.
Definition at line 29 of file b2ChainShape.cpp.
b2Shape * b2ChainShape::Clone | ( | b2BlockAllocator * | allocator | ) | const [virtual] |
Implement b2Shape. Vertices are cloned using b2Alloc.
Implements b2Shape.
Definition at line 91 of file b2ChainShape.cpp.
void b2ChainShape::ComputeAABB | ( | b2AABB * | aabb, |
const b2Transform & | transform, | ||
int32 | childIndex | ||
) | const [virtual] |
void b2ChainShape::ComputeMass | ( | b2MassData * | massData, |
float32 | density | ||
) | const [virtual] |
Chains have zero mass.
Implements b2Shape.
Definition at line 186 of file b2ChainShape.cpp.
void b2ChainShape::CreateChain | ( | const b2Vec2 * | vertices, |
int32 | count | ||
) |
Create a chain with isolated end vertices.
vertices | an array of vertices, these are copied |
count | the vertex count |
Definition at line 58 of file b2ChainShape.cpp.
void b2ChainShape::CreateLoop | ( | const b2Vec2 * | vertices, |
int32 | count | ||
) |
Create a loop. This automatically adjusts connectivity.
vertices | an array of vertices, these are copied |
count | the vertex count |
Definition at line 36 of file b2ChainShape.cpp.
int32 b2ChainShape::GetChildCount | ( | ) | const [virtual] |
Implements b2Shape.
Definition at line 103 of file b2ChainShape.cpp.
void b2ChainShape::GetChildEdge | ( | b2EdgeShape * | edge, |
int32 | index | ||
) | const |
Get a child edge.
Definition at line 109 of file b2ChainShape.cpp.
bool b2ChainShape::RayCast | ( | b2RayCastOutput * | output, |
const b2RayCastInput & | input, | ||
const b2Transform & | transform, | ||
int32 | childIndex | ||
) | const [virtual] |
void b2ChainShape::SetNextVertex | ( | const b2Vec2 & | nextVertex | ) |
Establish connectivity to a vertex that follows the last vertex. Don't call this for loops.
Definition at line 85 of file b2ChainShape.cpp.
void b2ChainShape::SetPrevVertex | ( | const b2Vec2 & | prevVertex | ) |
Establish connectivity to a vertex that precedes the first vertex. Don't call this for loops.
Definition at line 79 of file b2ChainShape.cpp.
bool b2ChainShape::TestPoint | ( | const b2Transform & | transform, |
const b2Vec2 & | p | ||
) | const [virtual] |
This always return false.
Implements b2Shape.
Definition at line 141 of file b2ChainShape.cpp.
The vertex count.
Definition at line 89 of file b2ChainShape.h.
Definition at line 92 of file b2ChainShape.h.
Definition at line 92 of file b2ChainShape.h.
Definition at line 91 of file b2ChainShape.h.
Definition at line 91 of file b2ChainShape.h.
The vertices. Owned by this class.
Definition at line 86 of file b2ChainShape.h.