#include <b2_edge_shape.h>

Public Member Functions | |
| b2EdgeShape () | |
| b2Shape * | Clone (b2BlockAllocator *allocator) const override |
| Implement b2Shape. More... | |
| void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override |
| void | ComputeMass (b2MassData *massData, float density) const override |
| int32 | GetChildCount () const override |
| bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override |
| Implement b2Shape. More... | |
| 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. More... | |
| bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const override |
Public Member Functions inherited from b2Shape | |
| Type | GetType () const |
| virtual | ~b2Shape () |
Public Attributes | |
| bool | m_oneSided |
| Uses m_vertex0 and m_vertex3 to create smooth collision. More... | |
| b2Vec2 | m_vertex0 |
| Optional adjacent vertices. These are used for smooth collision. More... | |
| b2Vec2 | m_vertex1 |
| These are the edge vertices. More... | |
| b2Vec2 | m_vertex2 |
| b2Vec2 | m_vertex3 |
Public Attributes inherited from b2Shape | |
| float | 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 } |
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.
Definition at line 32 of file b2_edge_shape.h.
|
inline |
Definition at line 75 of file b2_edge_shape.h.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
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.
Definition at line 27 of file b2_edge_shape.cpp.
Set this as an isolated edge. Collision is two-sided.
Definition at line 36 of file b2_edge_shape.cpp.
|
overridevirtual |
| bool b2EdgeShape::m_oneSided |
Uses m_vertex0 and m_vertex3 to create smooth collision.
Definition at line 72 of file b2_edge_shape.h.
| b2Vec2 b2EdgeShape::m_vertex0 |
Optional adjacent vertices. These are used for smooth collision.
Definition at line 69 of file b2_edge_shape.h.
| b2Vec2 b2EdgeShape::m_vertex1 |
These are the edge vertices.
Definition at line 66 of file b2_edge_shape.h.
| b2Vec2 b2EdgeShape::m_vertex2 |
Definition at line 66 of file b2_edge_shape.h.
| b2Vec2 b2EdgeShape::m_vertex3 |
Definition at line 69 of file b2_edge_shape.h.