Box2D 2.4.1
A 2D physics engine for games
|
#include <b2_chain_shape.h>
Public Member Functions | |
~b2ChainShape () | |
The destructor frees the vertices using b2Free. | |
void | Clear () |
Clear all data. | |
void | CreateLoop (const b2Vec2 *vertices, int32 count) |
void | CreateChain (const b2Vec2 *vertices, int32 count, const b2Vec2 &prevVertex, const b2Vec2 &nextVertex) |
b2Shape * | Clone (b2BlockAllocator *allocator) const override |
Implement b2Shape. Vertices are cloned using b2Alloc. | |
int32 | GetChildCount () const override |
void | GetChildEdge (b2EdgeShape *edge, int32 index) const |
Get a child edge. | |
bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const override |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override |
Implement b2Shape. | |
void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override |
void | ComputeMass (b2MassData *massData, float density) const override |
Public Member Functions inherited from b2Shape | |
Type | GetType () const |
Public Attributes | |
b2Vec2 * | m_vertices |
The vertices. Owned by this class. | |
int32 | m_count |
The vertex count. | |
b2Vec2 | m_prevVertex |
b2Vec2 | m_nextVertex |
Public Attributes inherited from b2Shape | |
Type | m_type |
float | m_radius |
Additional Inherited Members | |
Public Types inherited from b2Shape | |
enum | Type { e_circle = 0 , e_edge = 1 , e_polygon = 2 , e_chain = 3 , e_typeCount = 4 } |
A chain shape is a free form sequence of line segments. The chain has one-sided collision, with the surface normal pointing to the right of the edge. This provides a counter-clockwise winding like the polygon shape. Connectivity information is used to create smooth collisions.
|
overridevirtual |
|
overridevirtual |
Implements b2Shape.
|
overridevirtual |
void b2ChainShape::CreateChain | ( | const b2Vec2 * | vertices, |
int32 | count, | ||
const b2Vec2 & | prevVertex, | ||
const b2Vec2 & | nextVertex ) |
Create a chain with ghost vertices to connect multiple chains together.
vertices | an array of vertices, these are copied |
count | the vertex count |
prevVertex | previous vertex from chain that connects to the start |
nextVertex | next vertex from chain that connects to the end |
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 |
|
overridevirtual |
Implements b2Shape.
|
overridevirtual |
|
overridevirtual |