Box2D  3.0.0
A Real-Time-Oriented 2-D Physics Engine
Classes | Public Member Functions | Static Public Member Functions | List of all members
box2d::EdgeShape Class Reference

Edge shape. More...

#include <EdgeShape.hpp>

Inheritance diagram for box2d::EdgeShape:
box2d::Shape

Classes

struct  Conf
 

Public Member Functions

 EdgeShape (const Conf &conf=GetDefaultConf()) noexcept
 
 EdgeShape (Length2D v1, Length2D v2, const Conf &conf=GetDefaultConf()) noexcept
 
 EdgeShape (const EdgeShape &)=default
 
child_count_t GetChildCount () const noexcept override
 Gets the number of child primitives. More...
 
DistanceProxy GetChild (child_count_t index) const noexcept override
 Gets the child for the given index. More...
 
bool TestPoint (const Transformation &xf, const Length2D p) const noexcept override
 Tests a point for containment in this shape. More...
 
MassData GetMassData () const noexcept override
 Computes the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin. More...
 
RayCastOutput RayCast (const RayCastInput &input, const Transformation &xf, child_count_t childIndex) const noexcept override
 Cast a ray against a child shape. More...
 
void Accept (Visitor &visitor) const override
 Accepts a visitor. More...
 
void Set (const Length2D v1, const Length2D v2)
 Set this as an isolated edge. More...
 
Length2D GetVertex1 () const noexcept
 
Length2D GetVertex2 () const noexcept
 
UnitVec2 GetNormal1 () const noexcept
 
UnitVec2 GetNormal2 () const noexcept
 
- Public Member Functions inherited from box2d::Shape
 Shape ()=delete
 Default constructor is deleted. More...
 
 Shape (const Conf &conf) noexcept
 Initializing constructor. More...
 
 Shape (const Shape &)=default
 
virtual ~Shape ()=default
 
Length GetVertexRadius () const noexcept
 Gets the vertex radius. More...
 
void SetVertexRadius (Length vertexRadius)
 
Density GetDensity () const noexcept
 Gets the density of this fixture. More...
 
void SetDensity (Density density) noexcept
 Sets the density of this fixture. More...
 
RealNum GetFriction () const noexcept
 Gets the coefficient of friction. More...
 
void SetFriction (RealNum friction) noexcept
 Sets the coefficient of friction. This will not change the friction of existing contacts. More...
 
RealNum GetRestitution () const noexcept
 Gets the coefficient of restitution. More...
 
void SetRestitution (RealNum restitution) noexcept
 Sets the coefficient of restitution. This will not change the restitution of existing contacts. More...
 

Static Public Member Functions

static constexpr Length GetDefaultVertexRadius () noexcept
 
static Conf GetDefaultConf () noexcept
 

Detailed Description

Edge shape.

A line segment (edge) shape. These can be connected in chains or loops to other edge shapes. The connectivity information is used to ensure correct contact normals.

Note
This data structure is 32-bytes.

Constructor & Destructor Documentation

◆ EdgeShape() [1/3]

box2d::EdgeShape::EdgeShape ( const Conf conf = GetDefaultConf())
inlinenoexcept

◆ EdgeShape() [2/3]

box2d::EdgeShape::EdgeShape ( Length2D  v1,
Length2D  v2,
const Conf conf = GetDefaultConf() 
)
inlinenoexcept

◆ EdgeShape() [3/3]

box2d::EdgeShape::EdgeShape ( const EdgeShape )
default

Member Function Documentation

◆ Accept()

void box2d::EdgeShape::Accept ( Visitor visitor) const
inlineoverridevirtual

Accepts a visitor.

Implements box2d::Shape.

◆ GetChild()

DistanceProxy box2d::EdgeShape::GetChild ( child_count_t  index) const
inlineoverridevirtualnoexcept

Gets the child for the given index.

Note
The shape must remain in scope while the proxy is in use.

Implements box2d::Shape.

◆ GetChildCount()

child_count_t box2d::EdgeShape::GetChildCount ( ) const
inlineoverridevirtualnoexcept

Gets the number of child primitives.

Returns
Positive non-zero count.

Implements box2d::Shape.

◆ GetDefaultConf()

static Conf box2d::EdgeShape::GetDefaultConf ( )
inlinestaticnoexcept

◆ GetDefaultVertexRadius()

static constexpr Length box2d::EdgeShape::GetDefaultVertexRadius ( )
inlinestaticnoexcept

◆ GetMassData()

MassData EdgeShape::GetMassData ( ) const
overridevirtualnoexcept

Computes the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin.

Note
Behavior is undefined if the density is negative.
Returns
Mass data for this shape.

Implements box2d::Shape.

◆ GetNormal1()

UnitVec2 box2d::EdgeShape::GetNormal1 ( ) const
inlinenoexcept

◆ GetNormal2()

UnitVec2 box2d::EdgeShape::GetNormal2 ( ) const
inlinenoexcept

◆ GetVertex1()

Length2D box2d::EdgeShape::GetVertex1 ( ) const
inlinenoexcept

◆ GetVertex2()

Length2D box2d::EdgeShape::GetVertex2 ( ) const
inlinenoexcept

◆ RayCast()

RayCastOutput EdgeShape::RayCast ( const RayCastInput input,
const Transformation xf,
child_count_t  childIndex 
) const
overridevirtualnoexcept

Cast a ray against a child shape.

Parameters
inputthe ray-cast input parameters.
xfthe transform to be applied to the shape.
childIndexthe child shape index

Implements box2d::Shape.

◆ Set()

void EdgeShape::Set ( const Length2D  v1,
const Length2D  v2 
)

Set this as an isolated edge.

◆ TestPoint()

bool EdgeShape::TestPoint ( const Transformation xf,
const Length2D  p 
) const
overridevirtualnoexcept

Tests a point for containment in this shape.

Parameters
xfthe shape world transform.
pa point in world coordinates.
Returns
true if point is contained in this shape, false otherwise.

Implements box2d::Shape.


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