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" 23 FIXED_JOINT = 0x1 << 2,
31 template<
typename _Scalar,
int _Options>
34 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
35 typedef pinocchio::JointIndex JointIndex;
36 enum { Options = _Options };
37 typedef _Scalar Scalar;
65 const SE3 & frame_placement,
67 const Inertia &
inertia = Inertia::Zero())
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>
142 inline std::ostream & operator << (std::ostream& os,
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__ FrameTpl< NewScalar, Options > cast() const
A Plucker coordinate frame attached to a parent joint inside a kinematic tree.
SE3 placement
Placement of the frame wrt the parent joint.
std::string name
Name of the frame.
JointIndex parent
Index of the parent joint.
bool operator!=(const FrameTpl< S2, O2 > &other) const
FrameIndex previousFrame
Index of the previous frame.
FrameType type
Type of the frame.
FrameTpl()
Default constructor of a frame.
FrameType
Enum on the possible types of frame.
Inertia inertia
Inertia information attached to the frame. This inertia will be appended to the inertia supported by ...
Main pinocchio namespace.
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.
bool operator==(const FrameTpl< S2, O2 > &other) const
Equality comparison operator.