|
| SBDTypePhysicalVector6 () |
| Constructs the spatial vector [ 0 0 0 ].
|
|
| SBDTypePhysicalVector6 (QuantityA a, QuantityL l) |
| Constructs the spatial vector [ a a a l l l ].
|
|
| SBDTypePhysicalVector6 (QuantityA ax, QuantityA ay, QuantityA az, QuantityL lx, QuantityL ly, QuantityL lz) |
| Constructs the spatial vector [ ax ay az lx ly lz ].
|
|
| SBDTypePhysicalVector6 (QuantityA a[3], QuantityL l[3]) |
| Constructs the spatial vector [ a [0] a [1] a [2] l [0] l [1] l [2] ].
|
|
| SBDTypePhysicalVector6 (const SBDTypePhysicalVector3< QuantityA > &a, const SBDTypePhysicalVector3< QuantityL > &l) |
| Constructs the spatial vector [ a l ].
|
|
| SBDTypePhysicalVector6 (double a, double l) |
| Constructs the spatial vector [ a a a l l l ].
|
|
| SBDTypePhysicalVector6 (double ax, double ay, double az, double lx, double ly, double lz) |
| Constructs the spatial vector [ ax ay az lx ly lz ].
|
|
| SBDTypePhysicalVector6 (double a[3], double l[3]) |
| Constructs the spatial vector [ a l ].
|
|
| SBDTypePhysicalVector6 (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) |
| Copy constructor.
|
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > & | operator= (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) |
| Copy assignment.
|
|
template<typename QuantityAB , typename QuantityLB > |
SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityA::UnitType, typename QuantityAB::UnitType >::UnitType > | operator| (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns the dot product of this spatial vector with spatial vector u .
|
|
template<typename QuantityAB , typename QuantityLB > |
SBDTypePhysicalVector6< SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityA::UnitType, typename QuantityAB::UnitType >::UnitType >, SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityA::UnitType, typename QuantityLB::UnitType >::UnitType > > | operator^ (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &force) const |
| Returns the cross product of this spatial vector with spatial vector u .
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > | operator+ (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) const |
| Returns the sum of this spatial vector with spatial vector u .
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > | operator- (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) const |
| Returns the difference of this spatial vector with spatial vector u .
|
|
template<typename QuantityB > |
SBDTypePhysicalVector6< SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityA::UnitType, typename QuantityB::UnitType >::UnitType >, SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityL::UnitType, typename QuantityB::UnitType >::UnitType > > | operator* (QuantityB d) const |
| Returns the product of this spatial vector with physical quantity d .
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > | operator* (double d) const |
| Returns the product of this spatial vector with double d .
|
|
template<typename Quantity > |
SBDTypePhysicalVector6< QuantityA, QuantityL > & | operator*= (const Quantity &d) |
| Multiplies this spatial vector with physical quantity d .
|
|
template<typename QuantityAB , typename QuantityLB > |
SBDTypePhysicalVector6< SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityA::UnitType, typename QuantityAB::UnitType >::UnitType >, SBQuantityType< typename SBDQuantityUnitMultiplication< typename QuantityL::UnitType, typename QuantityLB::UnitType >::UnitType > > | operator* (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns the component-wise product of this spatial vector with spatial vector u .
|
|
template<typename QuantityB > |
SBDTypePhysicalVector6< SBQuantityType< typename SBDQuantityUnitDivision< typename QuantityA::UnitType, typename QuantityB::UnitType >::UnitType >, SBQuantityType< typename SBDQuantityUnitDivision< typename QuantityL::UnitType, typename QuantityB::UnitType >::UnitType > > | operator/ (QuantityB d) const |
| Returns the division of this spatial vector by physical quantity d .
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > | operator/ (double d) const |
| Returns the division of this spatial vector by double d .
|
|
template<typename Quantity > |
SBDTypePhysicalVector6< QuantityA, QuantityL > & | operator/= (Quantity d) |
| Divides this spatial vector by physical quantity d .
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > | operator- () const |
| Returns the opposite of this spatial vector.
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > & | operator+= (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) |
| Adds spatial vector u to this spatial vector.
|
|
SBDTypePhysicalVector6< QuantityA, QuantityL > & | operator-= (const SBDTypePhysicalVector6< QuantityA, QuantityL > &u) |
| Subtracts spatial vector u from this spatial vector.
|
|
template<typename QuantityAB , typename QuantityLB > |
| operator SBDTypePhysicalVector6< QuantityAB, QuantityLB > () const |
| Converts this spatial vector to a spatial vector with units QuantityB .
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator== (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is equal to spatial vector u (component-wise)
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator!= (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is different from spatial vector u (component-wise)
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator< (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is smaller than spatial vector u (lexicographic comparison)
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator> (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is larger than spatial vector u (lexicographic comparison)
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator<= (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is smaller or equal than spatial vector u (lexicographic comparison)
|
|
template<typename QuantityAB , typename QuantityLB > |
bool | operator>= (const SBDTypePhysicalVector6< QuantityAB, QuantityLB > &u) const |
| Returns true if this spatial vector is larger or equal than spatial vector u (lexicographic comparison)
|
|
template<typename QuantityA, typename QuantityL>
class SBDTypePhysicalVector6< QuantityA, QuantityL >
- Template Parameters
-
QuantityA | The quantity type of the angular part |
QuantityL | The quantity type of the linear part |
This template class represents spatial vectors (introduced by Roy Featherstone), i.e. six-dimensional vectors used to describe rigid-body dynamics and articulated-body dynamics. Spatial vectors are physical quantities, and thus use SAMSON's unit system. Because a spatial vector has an angular part and a linear part, which may have different units, spatial vectors are defined by two units, and the SBDTypePhysicalVector6 template class is parameterized by two types: QuantityA
and QuantityL
.
Most of the time, developers of SAMSON Extensions do not have to use this template, but may directly use some predefined types, e.g. SBVector6 (dimensionless spatial vector), SBForce6 (spatial force), SBVelocity6 (spatial velocity), or SBAcceleration6 (spatial acceleration).
Short name: SBPhysicalVector6
- See also
- SBDTypePhysicalVector3
-
SBDTypePhysicalMatrix66
-
SAMSON's unit system