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

#include <b2_edge_shape.h>

Inheritance diagram for b2EdgeShape:
Inheritance graph
[legend]

Public Member Functions

 b2EdgeShape ()
 
b2ShapeClone (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
}
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ b2EdgeShape()

b2EdgeShape::b2EdgeShape ( )
inline

Definition at line 75 of file b2_edge_shape.h.

Member Function Documentation

◆ Clone()

b2Shape * b2EdgeShape::Clone ( b2BlockAllocator allocator) const
overridevirtual

Implement b2Shape.

Implements b2Shape.

Definition at line 43 of file b2_edge_shape.cpp.

◆ ComputeAABB()

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

Implements b2Shape.

Definition at line 136 of file b2_edge_shape.cpp.

◆ ComputeMass()

void b2EdgeShape::ComputeMass ( b2MassData massData,
float  density 
) const
overridevirtual
See also
b2Shape::ComputeMass

Implements b2Shape.

Definition at line 151 of file b2_edge_shape.cpp.

◆ GetChildCount()

int32 b2EdgeShape::GetChildCount ( ) const
overridevirtual
See also
b2Shape::GetChildCount

Implements b2Shape.

Definition at line 51 of file b2_edge_shape.cpp.

◆ RayCast()

bool b2EdgeShape::RayCast ( b2RayCastOutput output,
const b2RayCastInput input,
const b2Transform transform,
int32  childIndex 
) const
overridevirtual

Implement b2Shape.

Implements b2Shape.

Definition at line 67 of file b2_edge_shape.cpp.

◆ SetOneSided()

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.

◆ SetTwoSided()

void b2EdgeShape::SetTwoSided ( const b2Vec2 v1,
const b2Vec2 v2 
)

Set this as an isolated edge. Collision is two-sided.

Definition at line 36 of file b2_edge_shape.cpp.

◆ TestPoint()

bool b2EdgeShape::TestPoint ( const b2Transform transform,
const b2Vec2 p 
) const
overridevirtual
See also
b2Shape::TestPoint

Implements b2Shape.

Definition at line 56 of file b2_edge_shape.cpp.

Member Data Documentation

◆ m_oneSided

bool b2EdgeShape::m_oneSided

Uses m_vertex0 and m_vertex3 to create smooth collision.

Definition at line 72 of file b2_edge_shape.h.

◆ m_vertex0

b2Vec2 b2EdgeShape::m_vertex0

Optional adjacent vertices. These are used for smooth collision.

Definition at line 69 of file b2_edge_shape.h.

◆ m_vertex1

b2Vec2 b2EdgeShape::m_vertex1

These are the edge vertices.

Definition at line 66 of file b2_edge_shape.h.

◆ m_vertex2

b2Vec2 b2EdgeShape::m_vertex2

Definition at line 66 of file b2_edge_shape.h.

◆ m_vertex3

b2Vec2 b2EdgeShape::m_vertex3

Definition at line 69 of file b2_edge_shape.h.


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


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:22