PlayRho  2.0.0
An interactive physics engine & library.
playrho::d2::ShapeBuilder< ConcreteConf > Struct Template Reference

Builder configuration structure. More...

#include <playrho/d2/ShapeConf.hpp>

Inheritance diagram for playrho::d2::ShapeBuilder< ConcreteConf >:
[legend]
Collaboration diagram for playrho::d2::ShapeBuilder< ConcreteConf >:
[legend]

Public Member Functions

constexpr ConcreteConf & UseDensity (NonNegative< AreaDensity > value) noexcept
 Uses the given density.
 
constexpr ConcreteConf & UseFilter (Filter value) noexcept
 Uses the given filter.
 
constexpr ConcreteConf & UseFriction (NonNegative< Real > value) noexcept
 Uses the given friction.
 
constexpr ConcreteConf & UseIsSensor (bool value) noexcept
 Uses the given is-sensor value.
 
constexpr ConcreteConf & UseRestitution (Finite< Real > value) noexcept
 Uses the given restitution.
 

Additional Inherited Members

- Public Attributes inherited from playrho::d2::BaseShapeConf
NonNegative< AreaDensitydensity = DefaultDensity
 Area density of the associated shape. More...
 
Filter filter = DefaultFilter
 Filtering data for contacts.
 
NonNegative< Realfriction = DefaultFriction
 Friction coefficient. More...
 
bool isSensor = DefaultIsSensor
 A sensor shape collects contact information but never generates a collision response.
 
Finite< Realrestitution = DefaultRestitution
 Restitution (elasticity) of the associated shape. More...
 
- 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.
 

Detailed Description

template<typename ConcreteConf>
struct playrho::d2::ShapeBuilder< ConcreteConf >

Builder configuration structure.

This is a builder structure of chainable methods for building a shape configuration.

Note
This is a templated nested value class for initializing shapes that uses the Curiously Recurring Template Pattern (CRTP) to provide function chaining via static polymorphism.
See also
https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern

The documentation for this struct was generated from the following file: