Edge shape configuration. More...
#include <playrho/d2/EdgeShapeConf.hpp>
Public Member Functions | |
EdgeShapeConf (const Length2 &vA, const Length2 &vB, const EdgeShapeConf &conf=GetDefaultConf()) noexcept | |
Initializing constructor. | |
Length2 | GetVertexA () const noexcept |
Gets vertex A. | |
Length2 | GetVertexB () const noexcept |
Gets vertex B. | |
EdgeShapeConf & | Rotate (const UnitVec &value) noexcept |
Rotates the vertices by the given amount. | |
EdgeShapeConf & | Scale (const Vec2 &value) noexcept |
Scales the vertices by the given amount. | |
EdgeShapeConf & | Set (const Length2 &vA, const Length2 &vB) noexcept |
Sets both vertices in one call. | |
EdgeShapeConf & | Translate (const Length2 &value) noexcept |
Translates the vertices by the given amount. | |
EdgeShapeConf & | UseVertexRadius (NonNegative< Length > value) noexcept |
Uses the given vertex radius. | |
Public Member Functions inherited from playrho::d2::ShapeBuilder< EdgeShapeConf > | |
constexpr EdgeShapeConf & | UseDensity (NonNegative< AreaDensity > value) noexcept |
Uses the given density. | |
constexpr EdgeShapeConf & | UseFilter (Filter value) noexcept |
Uses the given filter. | |
constexpr EdgeShapeConf & | UseFriction (NonNegative< Real > value) noexcept |
Uses the given friction. | |
constexpr EdgeShapeConf & | UseIsSensor (bool value) noexcept |
Uses the given is-sensor value. | |
constexpr EdgeShapeConf & | UseRestitution (Finite< Real > value) noexcept |
Uses the given restitution. | |
Static Public Member Functions | |
static EdgeShapeConf | GetDefaultConf () noexcept |
Gets the default configuration. | |
static constexpr NonNegative< Length > | GetDefaultVertexRadius () noexcept |
Gets the default vertex radius. More... | |
Public Attributes | |
NgonWithFwdNormals< 2 > | ngon |
N-gon value of the object. | |
NonNegativeFF< Length > | vertexRadius = GetDefaultVertexRadius() |
Vertex radius. More... | |
Public Attributes inherited from playrho::d2::BaseShapeConf | |
NonNegative< AreaDensity > | density = DefaultDensity |
Area density of the associated shape. More... | |
Filter | filter = DefaultFilter |
Filtering data for contacts. | |
NonNegative< Real > | friction = DefaultFriction |
Friction coefficient. More... | |
bool | isSensor = DefaultIsSensor |
A sensor shape collects contact information but never generates a collision response. | |
Finite< Real > | restitution = DefaultRestitution |
Restitution (elasticity) of the associated shape. More... | |
Static Public Attributes | |
static constexpr auto | DefaultVertexRadius = NonNegative<Length>{DefaultLinearSlop * Real{2}} |
Default vertex radius. | |
Static Public Attributes inherited from playrho::d2::BaseShapeConf | |
static constexpr auto | DefaultDensity = NonNegative<AreaDensity>{0_kgpm2} |
Default density value. | |
static constexpr auto | DefaultFilter = Filter{} |
Default filter value. | |
static constexpr auto | DefaultFriction = NonNegative<Real>{Real{2} / Real{10}} |
Default friction value. | |
static constexpr auto | DefaultIsSensor = false |
Default is-sensor value. | |
static const auto | DefaultRestitution = Finite<Real>{} |
Default restitution value. | |
Additional Inherited Members | |
Related Functions inherited from playrho::d2::BaseShapeConf | |
constexpr NonNegative< AreaDensity > | GetDensity (const BaseShapeConf &arg) noexcept |
Gets the density of the given shape configuration. | |
constexpr Filter | GetFilter (const BaseShapeConf &arg) noexcept |
Gets the filter of the given shape configuration. | |
constexpr NonNegativeFF< Real > | GetFriction (const BaseShapeConf &arg) noexcept |
Gets the friction of the given shape. | |
constexpr Finite< Real > | GetRestitution (const BaseShapeConf &arg) noexcept |
Gets the restitution of the given shape. | |
constexpr bool | IsSensor (const BaseShapeConf &arg) noexcept |
Gets the is-sensor state of the given shape configuration. | |
void | SetDensity (BaseShapeConf &arg, NonNegative< AreaDensity > value) |
Sets the density of the given shape configuration. | |
void | SetFilter (BaseShapeConf &arg, Filter value) |
Sets the filter of the given shape configuration. | |
void | SetFriction (BaseShapeConf &arg, NonNegative< Real > value) |
Sets the friction of the given shape. | |
void | SetRestitution (BaseShapeConf &arg, Real value) noexcept |
Sets the restitution of the given shape. | |
void | SetSensor (BaseShapeConf &arg, bool value) |
Sets the is-sensor state of the given shape configuration. | |
Edge shape configuration.
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.
|
inlinestaticconstexprnoexcept |
Gets the default vertex radius.
DefaultVertexRadius
directly. DefaultVertexRadius
. NonNegativeFF<Length> playrho::d2::EdgeShapeConf::vertexRadius = GetDefaultVertexRadius() |
Vertex radius.
This is the radius from the vertex that the shape's "skin" should extend outward by. While any edges — line segments between multiple vertices — are straight, corners between them (the vertices) are rounded and treated as rounded. Shapes with larger vertex radiuses compared to edge lengths therefore will be more prone to rolling or having other shapes more prone to roll off of them.
Referenced by playrho::d2::GetChild(), playrho::d2::GetMassData(), and playrho::d2::SetVertexRadius().