#include <mbd_2pass_shock_propagation_stepper.h>
A 2 Pass Shock Propagation Constraint Based Stepper Method.
This method makes two runs over all stack layers, one going top-to-bottom and another going from bottom-to-top.
During first pass only impulse is transfered, in the second pass bottom-most objects are artificially fixated resulting in correction of velocities before doing the actual position update.
typedef collision_laws::FrictionalNewtonCollisionLawPolicy OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::collision_law_policy [protected] |
typedef IterateOnceCollisionResolver<mbd_types, collision_law_policy > OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::collision_resolver_algorithm [protected] |
typedef DynamicsStepper<mbd_types,solver_type> OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::dynamics_algorithm [protected] |
typedef FirstOrderStepper<mbd_types,solver_type> OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::error_correction_algorithm [protected] |
typedef mbd_types::group_type OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::group_type [protected] |
Reimplemented from OpenTissue::mbd::StepperInterface< mbd_types >.
typedef mbd_types::math_policy::idx_vector_type OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::idx_vector_type [protected] |
typedef StackPropagation<mbd_types> OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::propagation_algorithm [protected] |
typedef mbd_types::math_policy::real_type OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::real_type [protected] |
Reimplemented from OpenTissue::mbd::StepperInterface< mbd_types >.
typedef mbd_types::math_policy::value_traits OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::value_traits [protected] |
typedef mbd_types::math_policy::vector3_type OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::vector3_type [protected] |
typedef mbd_types::math_policy::vector_type OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::vector_type [protected] |
OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::TwoPassShockPropagationStepper | ( | ) | [inline] |
virtual OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::~TwoPassShockPropagationStepper | ( | ) | [inline, virtual] |
void OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::error_correction | ( | group_type & | group | ) | [inline, virtual] |
Implements OpenTissue::mbd::StepperInterface< mbd_types >.
void OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::resolve_collisions | ( | group_type & | group | ) | [inline, virtual] |
Implements OpenTissue::mbd::StepperInterface< mbd_types >.
void OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::run | ( | group_type & | group, | |
real_type const & | time_step | |||
) | [inline, virtual] |
Implements OpenTissue::mbd::StepperInterface< mbd_types >.
DynamicsFunctor OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::m_dynamics_functor [protected] |
Pure Dynamics function to be used together with propagation algorithm.
ErrorFunctor OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::m_error_functor [protected] |
Pure Error function to be used together with propagation algorithm.
propagation_algorithm OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::m_propagation [protected] |
Stack Propagation Algorithm to be used.
collision_resolver_algorithm OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::m_resolver [protected] |
Collision resolver.
StepperFunctor OpenTissue::mbd::TwoPassShockPropagationStepper< mbd_types, solver_type >::m_stepper_functor [protected] |
Stepper function to be used together with propagation algorithm.