| Box2D 2.2.1 A 2D Physics Engine for Games

- Main Page
- Classes
- Files

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

Public Member Functions | Public Attributes
b2PolygonShape Class Reference

`#include <b2PolygonShape.h>`

Inheritance diagram for b2PolygonShape:

List of all members.

## Public Member Functions

b2Shape * | Clone (b2BlockAllocator *allocator) const
| Implement b2Shape.
int32 | GetChildCount () const
void | Set (const b2Vec2 *vertices, int32 vertexCount)
void | SetAsBox (float32 hx, float32 hy)
void | SetAsBox (float32 hx, float32 hy, const b2Vec2 &center, float32 angle)
bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const
| Implement b2Shape.
void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const
void | ComputeMass (b2MassData *massData, float32 density) const
int32 | GetVertexCount () const
| Get the vertex count.
const b2Vec2 & | GetVertex (int32 index) const
| Get a vertex by index.

## Public Attributes

b2Vec2 | m_centroid
b2Vec2 | m_vertices [b2_maxPolygonVertices]
b2Vec2 | m_normals [b2_maxPolygonVertices]
int32 | m_vertexCount

## Detailed Description

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.

## Member Function Documentation

void b2PolygonShape::ComputeAABB | ( | b2AABB * | aabb,
|  | const b2Transform & | transform,
|  | int32 | childIndex
| ) |  | const`[virtual]`

See also:
  b2Shape::ComputeAABB

Implements b2Shape.

void b2PolygonShape::ComputeMass | ( | b2MassData * | massData,
|  | float32 | density
| ) |  | const`[virtual]`

See also:
  b2Shape::ComputeMass

Implements b2Shape.

int32 b2PolygonShape::GetChildCount | ( |  | ) | const`[virtual]`

See also:
  b2Shape::GetChildCount

Implements b2Shape.

void b2PolygonShape::Set | ( | const b2Vec2 * | vertices,
|  | int32 | vertexCount
| ) |  |

Copy vertices. This assumes the vertices define a convex polygon. It is assumed that the exterior is the the right of each edge. The count must be in the range [3, b2_maxPolygonVertices].

void b2PolygonShape::SetAsBox | ( | float32 | hx,
|  | float32 | hy
| ) |  |

Build vertices to represent an axis-aligned box.

Parameters:

  hx | the half-width.
  hy | the half-height.

void b2PolygonShape::SetAsBox | ( | float32 | hx,
|  | float32 | hy,
|  | const b2Vec2 & | center,
|  | float32 | angle
| ) |  |

Build vertices to represent an oriented box.

Parameters:

  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.

bool b2PolygonShape::TestPoint | ( | const b2Transform & | transform,
|  | const b2Vec2 & | p
| ) |  | const`[virtual]`

See also:
  b2Shape::TestPoint

Implements b2Shape.

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

- b2PolygonShape.h
- b2PolygonShape.cpp

All Classes Files Functions Variables Enumerations Enumerator Defines