Box2D  2.2.1
Box2D API Reference for Kobold2D developers
b2PolygonShape Class Reference

#include <b2PolygonShape.h>

+ Inheritance diagram for b2PolygonShape:
+ Collaboration diagram for b2PolygonShape:

List of all members.

Public Member Functions

b2ShapeClone (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 ¢er, 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 b2Vec2GetVertex (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

b2Shape* b2PolygonShape::Clone ( b2BlockAllocator allocator) const [virtual]

Implement b2Shape.

Implements b2Shape.

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.

const b2Vec2 & b2PolygonShape::GetVertex ( int32  index) const [inline]

Get a vertex by index.

int32 b2PolygonShape::GetVertexCount ( ) const [inline]

Get the vertex count.

bool b2PolygonShape::RayCast ( b2RayCastOutput output,
const b2RayCastInput input,
const b2Transform transform,
int32  childIndex 
) const [virtual]

Implement b2Shape.

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:
hxthe half-width.
hythe half-height.
void b2PolygonShape::SetAsBox ( float32  hx,
float32  hy,
const b2Vec2 center,
float32  angle 
)

Build vertices to represent an oriented box.

Parameters:
hxthe half-width.
hythe half-height.
centerthe center of the box in local coordinates.
anglethe 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 file: