Torque2D Reference
Public Member Functions | Public Attributes | List of all members
b2ChainShape Class Reference

#include <b2ChainShape.h>

+ Inheritance diagram for b2ChainShape:

Public Member Functions

 b2ChainShape ()
 
 ~b2ChainShape ()
 The destructor frees the vertices using b2Free. More...
 
void CreateLoop (const b2Vec2 *vertices, int32 count)
 
void CreateChain (const b2Vec2 *vertices, int32 count)
 
void SetPrevVertex (const b2Vec2 &prevVertex)
 
void SetNextVertex (const b2Vec2 &nextVertex)
 
b2ShapeClone (b2BlockAllocator *allocator) const
 Implement b2Shape. Vertices are cloned using b2Alloc. More...
 
int32 GetChildCount () const
 
void GetChildEdge (b2EdgeShape *edge, int32 index) const
 Get a child edge. More...
 
bool TestPoint (const b2Transform &transform, const b2Vec2 &p) const
 
bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const
 Implement b2Shape. More...
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const
 
void ComputeMass (b2MassData *massData, float32 density) const
 
- Public Member Functions inherited from b2Shape
virtual ~b2Shape ()
 
Type GetType () const
 

Public Attributes

b2Vec2m_vertices
 The vertices. Owned by this class. More...
 
int32 m_count
 The vertex count. More...
 
b2Vec2 m_prevVertex
 
b2Vec2 m_nextVertex
 
bool m_hasPrevVertex
 
bool m_hasNextVertex
 
- Public Attributes inherited from b2Shape
Type m_type
 
float32 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
}
 

Detailed Description

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.

Constructor & Destructor Documentation

b2ChainShape ( )
inline

The destructor frees the vertices using b2Free.

Member Function Documentation

b2Shape * Clone ( b2BlockAllocator allocator) const
virtual

Implement b2Shape. Vertices are cloned using b2Alloc.

Implements b2Shape.

void ComputeAABB ( b2AABB aabb,
const b2Transform transform,
int32  childIndex 
) const
virtual
See also
b2Shape::ComputeAABB

Implements b2Shape.

void ComputeMass ( b2MassData massData,
float32  density 
) const
virtual

Chains have zero mass.

See also
b2Shape::ComputeMass

Implements b2Shape.

void CreateChain ( const b2Vec2 vertices,
int32  count 
)

Create a chain with isolated end vertices.

Parameters
verticesan array of vertices, these are copied
countthe vertex count
void CreateLoop ( const b2Vec2 vertices,
int32  count 
)

Create a loop. This automatically adjusts connectivity.

Parameters
verticesan array of vertices, these are copied
countthe vertex count
int32 GetChildCount ( ) const
virtual
See also
b2Shape::GetChildCount

Implements b2Shape.

void GetChildEdge ( b2EdgeShape edge,
int32  index 
) const

Get a child edge.

bool RayCast ( b2RayCastOutput output,
const b2RayCastInput input,
const b2Transform transform,
int32  childIndex 
) const
virtual

Implement b2Shape.

Implements b2Shape.

void SetNextVertex ( const b2Vec2 nextVertex)

Establish connectivity to a vertex that follows the last vertex. Don't call this for loops.

void SetPrevVertex ( const b2Vec2 prevVertex)

Establish connectivity to a vertex that precedes the first vertex. Don't call this for loops.

bool TestPoint ( const b2Transform transform,
const b2Vec2 p 
) const
virtual

This always return false.

See also
b2Shape::TestPoint

Implements b2Shape.

Member Data Documentation

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.


The documentation for this class was generated from the following files: