5 #ifndef __pinocchio_multibody_frame_hpp__
6 #define __pinocchio_multibody_frame_hpp__
8 #include "pinocchio/spatial/se3.hpp"
9 #include "pinocchio/spatial/inertia.hpp"
10 #include "pinocchio/multibody/fwd.hpp"
11 #include "pinocchio/multibody/model-item.hpp"
41 template<
typename _Scalar,
int _Options>
44 typedef _Scalar Scalar;
54 template<
typename _Scalar,
int _Options>
57 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
68 typedef pinocchio::JointIndex JointIndex;
73 PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
74 PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
83 PINOCCHIO_COMPILER_DIAGNOSTIC_POP
94 PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
95 PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
97 const std::string &
name,
99 const SE3 & frame_placement,
109 PINOCCHIO_COMPILER_DIAGNOSTIC_POP
121 PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
122 PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
124 const std::string &
name,
125 const JointIndex parent_joint,
126 const FrameIndex parent_frame,
127 const SE3 & frame_placement,
130 :
Base(
name, parent_joint, parent_frame, frame_placement)
137 PINOCCHIO_COMPILER_DIAGNOSTIC_POP
144 PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
145 PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
154 PINOCCHIO_COMPILER_DIAGNOSTIC_POP
161 PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
162 PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
163 template<
typename S2,
int O2>
173 PINOCCHIO_COMPILER_DIAGNOSTIC_POP
200 template<
typename S2,
int O2>
211 template<
typename S2,
int O2>
214 return !(*
this == other);
218 template<
typename NewScalar>
224 inertia.template cast<NewScalar>());
231 PINOCCHIO_DEPRECATED JointIndex &
parent;
252 template<
typename Scalar,
int Options>
255 os <<
"Frame name: " << f.
name <<
" paired to (parent joint/ parent frame)"
257 <<
"with relative placement wrt parent joint:\n"
258 << f.
placement <<
"containing inertia:\n"
Main pinocchio namespace.
FrameType
Enum on the possible types of frames.
@ BODY
body frame: attached to the collision, inertial or visual properties of a link
@ SENSOR
sensor frame: defined in a sensor element
@ OP_FRAME
operational frame: user-defined frames that are defined at runtime
@ JOINT
joint frame: attached to the child body of a joint (a.k.a. child frame)
@ FIXED_JOINT
fixed joint frame: joint frame but for a fixed joint
A Plucker coordinate frame attached to a parent joint inside a kinematic tree.
bool operator!=(const FrameTpl< S2, O2 > &other) const
FrameIndex parentFrame
Index of the parent frame.
PINOCCHIO_DEPRECATED JointIndex & parent
Index of the parent joint.
JointIndex parentJoint
Index of the parent joint.
PINOCCHIO_COMPILER_DIAGNOSTIC_POP PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS FrameTpl(const std::string &name, const JointIndex parent_joint, const FrameIndex parent_frame, 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.
PINOCCHIO_DEPRECATED FrameIndex & previousFrame
Index of the previous frame.
FrameTpl< NewScalar, Options > cast() const
bool operator==(const FrameTpl< S2, O2 > &other) const
Equality comparison operator.
PINOCCHIO_COMPILER_DIAGNOSTIC_POP FrameTpl< Scalar, Options > & operator=(const FrameTpl< Scalar, Options > &other)
Copy assignment operator. It needs to be user-define because references cannot be re-assigned during ...
std::string name
Name of the kinematic element.
FrameType type
Type of the frame.
PINOCCHIO_COMPILER_DIAGNOSTIC_POP PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS FrameTpl(const std::string &name, const JointIndex parentJoint, 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.
PINOCCHIO_COMPILER_DIAGNOSTIC_POP PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS FrameTpl(const FrameTpl &other)
Copy constructor.
PINOCCHIO_COMPILER_DIAGNOSTIC_POP PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS FrameTpl(const FrameTpl< S2, O2 > &other)
Copy constructor by casting.
SE3 placement
Position of kinematic element in parent joint frame.
Inertia inertia
Inertia information attached to the frame. This inertia will be appended to the inertia supported by ...
PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS FrameTpl()
Default constructor of a frame.
FrameIndex parentFrame
Index of the parent frame.
JointIndex parentJoint
Index of the parent joint.
std::string name
Name of the kinematic element.
SE3 placement
Position of kinematic element in parent joint frame.
Common traits structure to fully define base classes for CRTP.