Public Member Functions | Public Attributes | List of all members
b2PolygonShape Class Reference

#include <b2PolygonShape.h>

Inheritance diagram for b2PolygonShape:
Inheritance graph
[legend]

Public Member Functions

 b2PolygonShape ()
 
b2ShapeClone (b2BlockAllocator *allocator) const
 Implement b2Shape. More...
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const
 
void ComputeMass (b2MassData *massData, float32 density) const
 
int32 GetChildCount () const
 
const b2Vec2GetVertex (int32 index) const
 Get a vertex by index. More...
 
int32 GetVertexCount () const
 Get the vertex count. More...
 
bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const
 Implement b2Shape. More...
 
void Set (const b2Vec2 *points, int32 count)
 
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 Validate () const
 
- Public Member Functions inherited from b2Shape
Type GetType () const
 
virtual ~b2Shape ()
 

Public Attributes

b2Vec2 m_centroid
 
int32 m_count
 
b2Vec2 m_normals [b2_maxPolygonVertices]
 
b2Vec2 m_vertices [b2_maxPolygonVertices]
 
- Public Attributes inherited from b2Shape
float32 m_radius
 
Type m_type
 

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 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.

Definition at line 28 of file b2PolygonShape.h.

Constructor & Destructor Documentation

b2PolygonShape::b2PolygonShape ( )
inline

Definition at line 87 of file b2PolygonShape.h.

Member Function Documentation

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

Implement b2Shape.

Implements b2Shape.

Definition at line 22 of file b2PolygonShape.cpp.

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

Implements b2Shape.

Definition at line 339 of file b2PolygonShape.cpp.

void b2PolygonShape::ComputeMass ( b2MassData massData,
float32  density 
) const
virtual
See also
b2Shape::ComputeMass

Implements b2Shape.

Definition at line 358 of file b2PolygonShape.cpp.

int32 b2PolygonShape::GetChildCount ( ) const
virtual
See also
b2Shape::GetChildCount

Implements b2Shape.

Definition at line 69 of file b2PolygonShape.cpp.

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

Get a vertex by index.

Definition at line 95 of file b2PolygonShape.h.

int32 b2PolygonShape::GetVertexCount ( ) const
inline

Get the vertex count.

Definition at line 72 of file b2PolygonShape.h.

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

Implement b2Shape.

Implements b2Shape.

Definition at line 267 of file b2PolygonShape.cpp.

void b2PolygonShape::Set ( const b2Vec2 points,
int32  count 
)

Create a convex hull from the given array of local points. The count must be in the range [3, b2_maxPolygonVertices].

Warning
the points may be re-ordered, even if they form a convex polygon
collinear points are handled but not removed. Collinear points may lead to poor stacking behavior.

Definition at line 120 of file b2PolygonShape.cpp.

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

Build vertices to represent an axis-aligned box centered on the local origin.

Parameters
hxthe half-width.
hythe half-height.

Definition at line 30 of file b2PolygonShape.cpp.

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.

Definition at line 44 of file b2PolygonShape.cpp.

bool b2PolygonShape::TestPoint ( const b2Transform transform,
const b2Vec2 p 
) const
virtual
See also
b2Shape::TestPoint

Implements b2Shape.

Definition at line 251 of file b2PolygonShape.cpp.

bool b2PolygonShape::Validate ( ) const

Validate convexity. This is a very time consuming operation.

Returns
true if valid

Definition at line 441 of file b2PolygonShape.cpp.

Member Data Documentation

b2Vec2 b2PolygonShape::m_centroid

Definition at line 81 of file b2PolygonShape.h.

int32 b2PolygonShape::m_count

Definition at line 84 of file b2PolygonShape.h.

b2Vec2 b2PolygonShape::m_normals[b2_maxPolygonVertices]

Definition at line 83 of file b2PolygonShape.h.

b2Vec2 b2PolygonShape::m_vertices[b2_maxPolygonVertices]

Definition at line 82 of file b2PolygonShape.h.


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


mvsim
Author(s):
autogenerated on Fri May 7 2021 03:05:52