23 #ifndef KDL_FRAMEVEL_H 24 #define KDL_FRAMEVEL_H 37 IMETHOD doubleVel
diff(
const doubleVel& a,
const doubleVel& b,
double dt=1.0) {
176 IMETHOD void DoRotX(
const doubleVel& angle);
177 IMETHOD void DoRotY(
const doubleVel& angle);
178 IMETHOD void DoRotZ(
const doubleVel& angle);
227 M(_T.M,_t.rot),p(_T.p,_t.vel) {}
415 template<>
struct std::hash<
KDL::doubleVel>
426 template<>
struct std::hash<
KDL::VectorVel>
437 template<>
struct std::hash<
KDL::RotationVel>
448 template<>
struct std::hash<
KDL::FrameVel>
459 template<>
struct std::hash<
KDL::TwistVel>
VectorAcc operator/(const VectorAcc &r1, double r2)
represents rotations in 3 dimensional space.
FrameVel(const RotationVel &_M, const VectorVel &_p)
std::size_t operator()(KDL::doubleVel const &dv) const noexcept
INLINE S Norm(const Rall1d< T, V, S > &value)
TwistVel(const VectorVel &_vel, const VectorVel &_rot)
IMETHOD Rotation Rot(const Vector &axis_a_b)
FrameVel(const Frame &_T, const Twist &_t)
FrameVel(const Frame &_T)
ArticulatedBodyInertia operator+(const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
IMETHOD Vector diff(const Vector &p_w_a, const Vector &p_w_b, double dt=1)
Traits are traits classes to determine the type of a derivative of another type.
doubleAcc dot(const VectorAcc &lhs, const VectorAcc &rhs)
RotationVel(const Rotation &_R, const Vector &_w)
std::size_t operator()(KDL::VectorVel const &vv) const noexcept
IMETHOD bool operator!=(const Frame &a, const Frame &b)
VectorVel(const Vector &_p, const Vector &_v)
std::size_t operator()(KDL::RotationVel const &rv) const noexcept
represents both translational and rotational velocities.
IMETHOD void SetToZero(Vector &v)
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)
A concrete implementation of a 3 dimensional vector class.
double epsilon
default precision while comparing with Equal(..,..) functions. Initialized at 0.0000001.
ArticulatedBodyInertia operator*(double a, const ArticulatedBodyInertia &I)
IMETHOD void posrandom(Vector &a)
std::size_t operator()(KDL::FrameVel const &fv) const noexcept
represents a frame transformation in 3D space (rotation + translation)
IMETHOD Vector addDelta(const Vector &p_w_a, const Vector &p_w_da, double dt=1)
adds vector da to vector a. see also the corresponding diff() routine.
void hash_combine(std::size_t &seed, const T &v)
Combine hash of object v to the seed.
static IMETHOD RotationVel Identity()
IMETHOD void random(Vector &a)
addDelta operator for displacement rotational velocity.
ArticulatedBodyInertia operator-(const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
bool operator==(const Rotation &a, const Rotation &b)
Rall1d< double > doubleVel
IMETHOD RotationVel Inverse() const