#include <SpatialVector.h>

A spatial vector. When representing a velocity, lineVec is the angular velocity and freeVec is the linear velocity. When representing a spatial force, lineVec is the force and freeVec is the torque.
Public Attributes | |
| Vec | lineVec { type::NOINIT } |
| Vec | freeVec { type::NOINIT } |
Public Member Functions | |
| void | clear () |
| SpatialVector ()=default | |
| SpatialVector (const Vec &l, const Vec &f) | |
| SpatialVector & | operator+= (const SpatialVector &v) |
| SpatialVector | operator* (Real a) const |
| SpatialVector & | operator*= (Real a) |
| SpatialVector | operator+ (const SpatialVector &v) const |
| SpatialVector | operator- (const SpatialVector &v) const |
| SpatialVector | operator- () const |
| Real | operator* (const SpatialVector &v) const |
| Spatial dot product (cross terms) More... | |
| SpatialVector | cross (const SpatialVector &v) const |
| Spatial cross product. More... | |
| SpatialVector | operator* (const Mat66 &) const |
| product with a dense matrix More... | |
| Vec & | getLinearVelocity () |
| const Vec & | getLinearVelocity () const |
| void | setLinearVelocity (const Vec &v) |
| Vec & | getAngularVelocity () |
| const Vec & | getAngularVelocity () const |
| void | setAngularVelocity (const Vec &v) |
| Vec & | getTorque () |
| const Vec & | getTorque () const |
| void | setTorque (const Vec &v) |
| Vec & | getForce () |
| const Vec & | getForce () const |
| void | setForce (const Vec &v) |
Friends | |
| std::ostream & | operator<< (std::ostream &out, const SpatialVector &t) |
| write to an output stream More... | |
| std::istream & | operator>> (std::istream &in, SpatialVector &t) |
| read from an input stream More... | |
| Vec sofa::type::SpatialVector< TReal >::freeVec { type::NOINIT } |
| Vec sofa::type::SpatialVector< TReal >::lineVec { type::NOINIT } |
|
default |
| sofa::type::SpatialVector< TReal >::SpatialVector | ( | const Vec & | l, |
| const Vec & | f | ||
| ) |
| l | The line vector: angular velocity, or force |
| f | The free vector: linear velocity, or torque |
| void sofa::type::SpatialVector< TReal >::clear |
| SpatialVector< TReal > sofa::type::SpatialVector< TReal >::cross | ( | const SpatialVector< TReal > & | v | ) | const |
Spatial cross product.
|
inline |
If the SpatialVector models a spatial velocity, then the angular velocity is the lineVec. Otherwise, the SpatialVector models a spatial force, and this method returns a force.
|
inline |
|
inline |
If the SpatialVector models a spatial force, then the torque is the lineVec. Otherwise, the SpatialVector models a spatial velocity, and this method returns an angular velocity.
|
inline |
|
inline |
If the SpatialVector models a spatial velocity, then the linear velocity is the freeVec. Otherwise, the SpatialVector models a spatial force, and this method returns a torque.
|
inline |
|
inline |
If the SpatialVector models a spatial force, then the torque is the freeVec. Otherwise, the SpatialVector models a spatial velocity, and this method returns a linear velocity.
|
inline |
| SpatialVector< TReal > sofa::type::SpatialVector< TReal >::operator* | ( | const Mat66 & | m | ) | const |
product with a dense matrix
| TReal sofa::type::SpatialVector< TReal >::operator* | ( | const SpatialVector< TReal > & | v | ) | const |
Spatial dot product (cross terms)
|
inline |
|
inline |
| SpatialVector< TReal > sofa::type::SpatialVector< TReal >::operator+ | ( | const SpatialVector< TReal > & | v | ) | const |
| SpatialVector< TReal > & sofa::type::SpatialVector< TReal >::operator+= | ( | const SpatialVector< TReal > & | v | ) |
| SpatialVector< TReal > sofa::type::SpatialVector< TReal >::operator- |
| SpatialVector< TReal > sofa::type::SpatialVector< TReal >::operator- | ( | const SpatialVector< TReal > & | v | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
write to an output stream
|
friend |
read from an input stream