|  | Box2D
    2.3.0
    A 2D Physics Engine for Games | 
#include <b2Shape.h>
 
  
| Public Types | |
| enum | Type { e_circle = 0, e_edge = 1, e_polygon = 2, e_chain = 3, e_typeCount = 4 } | 
| Public Member Functions | |
| virtual b2Shape * | Clone (b2BlockAllocator *allocator) const =0 | 
| Clone the concrete shape using the provided allocator. | |
| Type | GetType () const | 
| virtual int32 | GetChildCount () const =0 | 
| Get the number of child primitives. | |
| virtual bool | TestPoint (const b2Transform &xf, const b2Vec2 &p) const =0 | 
| virtual bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0 | 
| virtual void | ComputeAABB (b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0 | 
| virtual void | ComputeMass (b2MassData *massData, float32 density) const =0 | 
| Public Attributes | |
| Type | m_type | 
| float32 | m_radius | 
A shape is used for collision detection. You can create a shape however you like. Shapes used for simulation in b2World are created automatically when a b2Fixture is created. Shapes may encapsulate a one or more child shapes.
| 
 | pure virtual | 
Given a transform, compute the associated axis aligned bounding box for a child shape.
| aabb | returns the axis aligned box. | 
| xf | the world transform of the shape. | 
| childIndex | the child shape | 
Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.
| 
 | pure virtual | 
Compute the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin.
| massData | returns the mass data for this shape. | 
| density | the density in kilograms per meter squared. | 
Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.
| 
 | inline | 
Get the type of this shape. You can use this to down cast to the concrete shape.
| 
 | pure virtual | 
Cast a ray against a child shape.
| output | the ray-cast results. | 
| input | the ray-cast input parameters. | 
| transform | the transform to be applied to the shape. | 
| childIndex | the child shape index | 
Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.
| 
 | pure virtual | 
Test a point for containment in this shape. This only works for convex shapes.
| xf | the shape world transform. | 
| p | a point in world coordinates. | 
Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.
 1.8.17
 1.8.17