Torque2D Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

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)
b2Shape * | Clone (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
b2Vec2 * | m_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

~b2ChainShape | ( |  | ) |

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

  vertices | an array of vertices, these are copied
  count | the vertex count

void CreateLoop | ( | const b2Vec2 * | vertices,
|  | int32 | count
| ) |  |

Create a loop. This automatically adjusts connectivity.

Parameters

  vertices | an array of vertices, these are copied
  count | the 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:

- Box2D/Collision/Shapes/b2ChainShape.h
- Box2D/Collision/Shapes/b2ChainShape.cpp