5 #ifndef __pinocchio_frame_hpp__ 6 #define __pinocchio_frame_hpp__ 8 #include "pinocchio/spatial/se3.hpp" 9 #include "pinocchio/spatial/inertia.hpp" 10 #include "pinocchio/multibody/fwd.hpp" 31 template<
typename _Scalar,
int _Options>
34 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
65 const SE3 & frame_placement,
70 , previousFrame(previousFrame)
83 template<
typename S2,
int O2>
86 return name == other.
name 97 template<
typename S2,
int O2>
100 return !(*
this == other);
104 template<
typename NewScalar>
113 inertia.template cast<NewScalar>());
141 template<
typename Scalar,
int Options>
148 <<
" paired to (parent joint/ previous frame)" 151 <<
"with relative placement wrt parent joint:\n" 153 <<
"containing inertia:\n" 162 #endif // ifndef __pinocchio_frame_hpp__
A Plucker coordinate frame attached to a parent joint inside a kinematic tree.
InertiaTpl< Scalar, Options > Inertia
JointIndex parent
Index of the parent joint.
FrameType type
Type of the frame.
FrameType
Enum on the possible types of frame.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef pinocchio::JointIndex JointIndex
std::ostream & operator<<(std::ostream &os, const FrameTpl< Scalar, Options > &f)
bool operator==(const FrameTpl< S2, O2 > &other) const
Equality comparison operator.
FrameTpl()
Default constructor of a frame.
SE3 placement
Placement of the frame wrt the parent joint.
Main pinocchio namespace.
Inertia inertia
Inertia information attached to the frame. This inertia will be appended to the inertia supported by ...
bool operator!=(const FrameTpl< S2, O2 > &other) const
std::string name
Name of the frame.
FrameTpl(const std::string &name, const JointIndex parent, const FrameIndex previousFrame, const SE3 &frame_placement, const FrameType type, const Inertia &inertia=Inertia::Zero())
Builds a frame defined by its name, its joint parent id, its placement and its type.
FrameIndex previousFrame
Index of the previous frame.
SE3Tpl< Scalar, Options > SE3
FrameTpl< NewScalar, Options > cast() const