Go to the documentation of this file.
31 return ForceVec<T>(vector3_t::Zero(), vector3_t::Zero());
38 ForceVec(
const vector6_t & vec) : couple_(vec.template head<3>()), force_(vec.template tail<3>()) {}
90 return ((
vector6_t() << couple_, force_).finished());
96 return ForceVec<T2>(couple_.template cast<T2>(), force_.template cast<T2>());
102 return ForceVec<T>(couple_ + fv.couple_, force_ + fv.force_);
107 return ForceVec<T>(couple_ - fv.couple_, force_ - fv.force_);
117 couple_ += fv.couple_;
124 couple_ -= fv.couple_;
129 template<typename T2, typename std::enable_if<std::is_arithmetic<T2>::value,
int>::type = 0>
132 return ForceVec<T>(scalar * couple_, scalar * force_);
135 template<
typename T2>
138 return ForceVec<T>(couple_ / scalar, force_ / scalar);
141 template<typename T2, typename std::enable_if<std::is_arithmetic<T2>::value,
int>::type = 0>
149 template<
typename T2>
159 return (couple_ == fv.couple_) && (force_ == fv.force_);
164 return (couple_ != fv.couple_) || (force_ != fv.force_);
172 template<
typename T,
typename T2>
181 out << fv.
vector().transpose();
std::ostream & operator<<(std::ostream &out, const ABInertia< T > &abI)
Definition: ABInertia.h:183
Eigen::Vector6< T > vector6_t
Definition: ForceVec.h:23
vector3_t & moment()
Definition: ForceVec.h:66
Definition: ForceVec.h:19
ForceVec< T > operator-(const ForceVec< T > &fv) const
Definition: ForceVec.h:105
ForceVec< T > & operator-=(const ForceVec< T > &fv)
Definition: ForceVec.h:122
const vector3_t & couple() const
Definition: ForceVec.h:60
Definition: ABInertia.h:10
vector3_t & couple()
Definition: ForceVec.h:55
ForceVec< T > & operator*=(T2 scalar)
Definition: ForceVec.h:142
Matrix< T, 3, 1 > Vector3
Definition: EigenTypedef.h:18
ForceVec< T > operator-() const
Definition: ForceVec.h:110
ForceVec< T > operator/(T2 scalar) const
Definition: ForceVec.h:136
const vector3_t & force() const
Definition: ForceVec.h:82
ForceVec(const vector3_t &couple, const vector3_t &force)
Definition: ForceVec.h:44
ABInertia< T > operator*(T2 scalar, const ABInertia< T > &abI)
Definition: ABInertia.h:177
vector3_t & force()
Definition: ForceVec.h:77
ForceVec< T > & operator/=(T2 scalar)
Definition: ForceVec.h:150
Matrix< T, 6, 1 > Vector6
Definition: EigenTypedef.h:13
ForceVec< T > operator+(const ForceVec< T > &fv) const
Definition: ForceVec.h:100
ForceVec< T > operator*(T2 scalar) const
Definition: ForceVec.h:130
ForceVec(const vector6_t &vec)
Definition: ForceVec.h:38
ForceVec< T2 > cast() const
Definition: ForceVec.h:94
ForceVec()
Definition: ForceVec.h:35
static ForceVec< T > Zero()
Zero force vector.
Definition: ForceVec.h:29
bool operator!=(const ForceVec< T > &fv) const
Definition: ForceVec.h:162
Eigen::Vector3< T > vector3_t
Definition: ForceVec.h:22
bool operator==(const ForceVec< T > &fv) const
Definition: ForceVec.h:157
const vector3_t & moment() const
Definition: ForceVec.h:71
vector6_t vector() const
Definition: ForceVec.h:88
ForceVec< T > & operator+=(const ForceVec< T > &fv)
Definition: ForceVec.h:115