#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