#include <MultiVector.h>


Public Types | |
| typedef BaseMechanicalState::VecId | VecId |
Public Member Functions | |
| MultiVector (Parent *parent, VecId v) | |
| Refers to a state vector with the given ID (VecId::position(), VecId::velocity(), etc). | |
| MultiVector (Parent *parent, VecId::Type t) | |
| Allocate a new temporary vector with the given type (VecId::V_COORD or VecId::V_DERIV). | |
| ~MultiVector () | |
| operator VecId () | |
| Automatic conversion to the underlying VecId. | |
| void | clear () |
| v = 0 | |
| void | eq (VecId a) |
| v = a | |
| void | peq (VecId a, double f=1.0) |
| v += a*f | |
| void | teq (double f) |
| v *= f | |
| double | dot (VecId a) |
| void | threshold (double threshold) |
| nullify values below given threshold | |
| double | norm () |
| void | operator= (VecId a) |
| v = a | |
| void | operator= (const MultiVector< Parent > &a) |
| v = a | |
| void | operator+= (VecId a) |
| v += a | |
| void | operator-= (VecId a) |
| v -= a | |
| void | operator*= (double f) |
| v *= f | |
| void | operator/= (double f) |
| v /= f | |
| double | operator* (VecId a) |
| return the scalar product dot(v,a) | |
Protected Member Functions | |
| MultiVector (const MultiVector< Parent > &v) | |
| Copy-constructor is forbidden. | |
Protected Attributes | |
| Parent * | parent |
| Solver who is using this vector. | |
| VecId | v |
| Identifier of this vector. | |
| bool | dynamic |
| Flag indicating if this vector was dynamically allocated. | |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const MultiVector< Parent > &mv) |
It is used to convert math-like operations to call to computation methods.
Definition at line 51 of file MultiVector.h.
| typedef BaseMechanicalState::VecId sofa::core::componentmodel::behavior::MultiVector< Parent >::VecId |
Definition at line 54 of file MultiVector.h.
| sofa::core::componentmodel::behavior::MultiVector< Parent >::MultiVector | ( | const MultiVector< Parent > & | v | ) | [protected] |
Copy-constructor is forbidden.
| sofa::core::componentmodel::behavior::MultiVector< Parent >::MultiVector | ( | Parent * | parent, | |
| VecId | v | |||
| ) | [inline] |
Refers to a state vector with the given ID (VecId::position(), VecId::velocity(), etc).
Definition at line 71 of file MultiVector.h.
| sofa::core::componentmodel::behavior::MultiVector< Parent >::MultiVector | ( | Parent * | parent, | |
| VecId::Type | t | |||
| ) | [inline] |
Allocate a new temporary vector with the given type (VecId::V_COORD or VecId::V_DERIV).
Definition at line 75 of file MultiVector.h.
| sofa::core::componentmodel::behavior::MultiVector< Parent >::~MultiVector | ( | ) | [inline] |
Definition at line 78 of file MultiVector.h.
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::clear | ( | ) | [inline] |
| double sofa::core::componentmodel::behavior::MultiVector< Parent >::dot | ( | VecId | a | ) | [inline] |
Definition at line 112 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator*(), and sofa::component::odesolver::CGImplicitSolver::solve().
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::eq | ( | VecId | a | ) | [inline] |
v = a
Definition at line 96 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator=().
| double sofa::core::componentmodel::behavior::MultiVector< Parent >::norm | ( | ) | [inline] |
| sofa::core::componentmodel::behavior::MultiVector< Parent >::operator VecId | ( | ) | [inline] |
| double sofa::core::componentmodel::behavior::MultiVector< Parent >::operator* | ( | VecId | a | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator*= | ( | double | f | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator+= | ( | VecId | a | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator-= | ( | VecId | a | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator/= | ( | double | f | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator= | ( | const MultiVector< Parent > & | a | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::operator= | ( | VecId | a | ) | [inline] |
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::peq | ( | VecId | a, | |
| double | f = 1.0 | |||
| ) | [inline] |
v += a*f
Definition at line 102 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator+=(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator-=(), sofa::component::odesolver::StaticSolver::solve(), sofa::component::odesolver::RungeKutta4Solver::solve(), sofa::component::odesolver::RungeKutta2Solver::solve(), sofa::component::odesolver::EulerSolver::solve(), sofa::component::odesolver::EulerKaapiSolver::solve(), sofa::component::odesolver::EulerImplicitSolver::solve(), and sofa::component::odesolver::CGImplicitSolver::solve().
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::teq | ( | double | f | ) | [inline] |
v *= f
Definition at line 107 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator*=(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator/=(), sofa::component::odesolver::StaticSolver::solve(), sofa::component::odesolver::EulerImplicitSolver::solve(), sofa::component::odesolver::DampVelocitySolver::solve(), and sofa::component::odesolver::CGImplicitSolver::solve().
| void sofa::core::componentmodel::behavior::MultiVector< Parent >::threshold | ( | double | threshold | ) | [inline] |
nullify values below given threshold
Definition at line 119 of file MultiVector.h.
Referenced by sofa::component::odesolver::DampVelocitySolver::solve().
| std::ostream& operator<< | ( | std::ostream & | out, | |
| const MultiVector< Parent > & | mv | |||
| ) | [friend] |
Definition at line 173 of file MultiVector.h.
bool sofa::core::componentmodel::behavior::MultiVector< Parent >::dynamic [protected] |
Flag indicating if this vector was dynamically allocated.
Definition at line 64 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::~MultiVector().
Parent* sofa::core::componentmodel::behavior::MultiVector< Parent >::parent [protected] |
Solver who is using this vector.
Definition at line 58 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::clear(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::dot(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::eq(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::norm(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::peq(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::teq(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::threshold(), and sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::~MultiVector().
VecId sofa::core::componentmodel::behavior::MultiVector< Parent >::v [protected] |
Identifier of this vector.
Definition at line 61 of file MultiVector.h.
Referenced by sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::clear(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::dot(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::eq(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::norm(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator VecId(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::operator=(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::peq(), sofa::simulation::GraphScatteredVector::reset(), sofa::simulation::GraphScatteredVector::set(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::teq(), sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::threshold(), and sofa::core::componentmodel::behavior::MultiVector< sofa::simulation::SolverImpl >::~MultiVector().
1.5.7.1