PlayRho  1.1.0
An Interactive Real-Time-Oriented C++ Physics Engine & Library
playrho::d2::Joint::Model< T > Struct Template Referencefinal

Internal model configuration concept. More...

Inheritance diagram for playrho::d2::Joint::Model< T >:
[legend]
Collaboration diagram for playrho::d2::Joint::Model< T >:
[legend]

Public Types

using data_type = T
 Type alias for the type of the data held.
 

Public Member Functions

 Model (const T &arg) noexcept(std::is_nothrow_copy_constructible_v< T >)
 Initializing constructor.
 
 Model (T &&arg) noexcept(std::is_nothrow_move_constructible_v< T >)
 Initializing constructor.
 
std::unique_ptr< ConceptClone_ () const override
 Clones this concept and returns a pointer to a mutable copy. More...
 
TypeID GetType_ () const noexcept override
 Gets the use type information. More...
 
const void * GetData_ () const noexcept override
 Gets the data for the underlying configuration. More...
 
void * GetData_ () noexcept override
 Gets the data for the underlying configuration. More...
 
bool IsEqual_ (const Concept &other) const noexcept override
 Equality checking method.
 
BodyID GetBodyA_ () const noexcept override
 Gets the ID of body-A. More...
 
BodyID GetBodyB_ () const noexcept override
 Gets the ID of body-B. More...
 
bool GetCollideConnected_ () const noexcept override
 Gets whether collision handling should be done for connected bodies. More...
 
bool ShiftOrigin_ (Length2 value) noexcept override
 Call to notify joint of a shift in the world origin. More...
 
void InitVelocity_ (BodyConstraintsMap &bodies, const playrho::StepConf &step, const ConstraintSolverConf &conf) override
 Initializes the velocities for this joint. More...
 
bool SolveVelocity_ (BodyConstraintsMap &bodies, const playrho::StepConf &step) override
 Solves the velocities for this joint. More...
 
bool SolvePosition_ (BodyConstraintsMap &bodies, const ConstraintSolverConf &conf) const override
 Solves the positions for this joint. More...
 
- Public Member Functions inherited from playrho::d2::Joint::Concept
virtual ~Concept ()=default
 Explicitly declared virtual destructor.
 

Public Attributes

data_type data
 Data.
 

Detailed Description

template<typename T>
struct playrho::d2::Joint::Model< T >

Internal model configuration concept.

Note
Provides the implementation for runtime value polymorphism.

Member Function Documentation

◆ Clone_()

template<typename T >
std::unique_ptr<Concept> playrho::d2::Joint::Model< T >::Clone_ ( ) const
inlineoverridevirtual

Clones this concept and returns a pointer to a mutable copy.

Note
This may throw std::bad_alloc or any exception that's thrown by the constructor for the model's underlying data type.
Exceptions
std::bad_allocif there's a failure allocating storage.

Implements playrho::d2::Joint::Concept.

◆ GetBodyA_()

template<typename T >
BodyID playrho::d2::Joint::Model< T >::GetBodyA_ ( ) const
inlineoverridevirtualnoexcept

Gets the ID of body-A.

Implements playrho::d2::Joint::Concept.

◆ GetBodyB_()

template<typename T >
BodyID playrho::d2::Joint::Model< T >::GetBodyB_ ( ) const
inlineoverridevirtualnoexcept

Gets the ID of body-B.

Implements playrho::d2::Joint::Concept.

◆ GetCollideConnected_()

template<typename T >
bool playrho::d2::Joint::Model< T >::GetCollideConnected_ ( ) const
inlineoverridevirtualnoexcept

Gets whether collision handling should be done for connected bodies.

Implements playrho::d2::Joint::Concept.

◆ GetData_() [1/2]

template<typename T >
const void* playrho::d2::Joint::Model< T >::GetData_ ( ) const
inlineoverridevirtualnoexcept

Gets the data for the underlying configuration.

Implements playrho::d2::Joint::Concept.

◆ GetData_() [2/2]

template<typename T >
void* playrho::d2::Joint::Model< T >::GetData_ ( )
inlineoverridevirtualnoexcept

Gets the data for the underlying configuration.

Implements playrho::d2::Joint::Concept.

◆ GetType_()

template<typename T >
TypeID playrho::d2::Joint::Model< T >::GetType_ ( ) const
inlineoverridevirtualnoexcept

Gets the use type information.

Returns
Type info of the underlying value's type.

Implements playrho::d2::Joint::Concept.

◆ InitVelocity_()

template<typename T >
void playrho::d2::Joint::Model< T >::InitVelocity_ ( BodyConstraintsMap bodies,
const playrho::StepConf step,
const ConstraintSolverConf conf 
)
inlineoverridevirtual

Initializes the velocities for this joint.

Implements playrho::d2::Joint::Concept.

◆ ShiftOrigin_()

template<typename T >
bool playrho::d2::Joint::Model< T >::ShiftOrigin_ ( Length2  value)
inlineoverridevirtualnoexcept

Call to notify joint of a shift in the world origin.

Implements playrho::d2::Joint::Concept.

◆ SolvePosition_()

template<typename T >
bool playrho::d2::Joint::Model< T >::SolvePosition_ ( BodyConstraintsMap bodies,
const ConstraintSolverConf conf 
) const
inlineoverridevirtual

Solves the positions for this joint.

Implements playrho::d2::Joint::Concept.

◆ SolveVelocity_()

template<typename T >
bool playrho::d2::Joint::Model< T >::SolveVelocity_ ( BodyConstraintsMap bodies,
const playrho::StepConf step 
)
inlineoverridevirtual

Solves the velocities for this joint.

Implements playrho::d2::Joint::Concept.


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