Box2D 2.4.1
A 2D physics engine for games
|
#include <b2_edge_shape.h>
Public Member Functions | |
void | SetOneSided (const b2Vec2 &v0, const b2Vec2 &v1, const b2Vec2 &v2, const b2Vec2 &v3) |
void | SetTwoSided (const b2Vec2 &v1, const b2Vec2 &v2) |
Set this as an isolated edge. Collision is two-sided. | |
b2Shape * | Clone (b2BlockAllocator *allocator) const override |
Implement b2Shape. | |
int32 | GetChildCount () const override |
bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const override |
bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override |
Implement b2Shape. | |
void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override |
void | ComputeMass (b2MassData *massData, float density) const override |
Public Member Functions inherited from b2Shape | |
Type | GetType () const |
Public Attributes | |
b2Vec2 | m_vertex1 |
These are the edge vertices. | |
b2Vec2 | m_vertex2 |
b2Vec2 | m_vertex0 |
Optional adjacent vertices. These are used for smooth collision. | |
b2Vec2 | m_vertex3 |
bool | m_oneSided |
Uses m_vertex0 and m_vertex3 to create smooth collision. | |
Public Attributes inherited from b2Shape | |
Type | m_type |
float | 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 } |
A line segment (edge) shape. These can be connected in chains or loops to other edge shapes. Edges created independently are two-sided and do no provide smooth movement across junctions.
|
overridevirtual |
|
overridevirtual |
Implements b2Shape.
|
overridevirtual |
Implements b2Shape.
|
overridevirtual |
Implements b2Shape.
|
overridevirtual |
void b2EdgeShape::SetOneSided | ( | const b2Vec2 & | v0, |
const b2Vec2 & | v1, | ||
const b2Vec2 & | v2, | ||
const b2Vec2 & | v3 ) |
Set this as a part of a sequence. Vertex v0 precedes the edge and vertex v3 follows. These extra vertices are used to provide smooth movement across junctions. This also makes the collision one-sided. The edge normal points to the right looking from v1 to v2.
|
overridevirtual |
Implements b2Shape.