5#ifndef __pinocchio_serialization_joints_data_hpp__ 6#define __pinocchio_serialization_joints_data_hpp__ 10 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class JointCollectionTpl>
13 template<
typename Archive>
17 using boost::serialization::make_nvp;
19 ar & make_nvp(
"joints", joint_data.
joints);
20 ar & make_nvp(
"iMlast", joint_data.iMlast);
21 ar & make_nvp(
"pjMi", joint_data.pjMi);
23 ar & make_nvp(
"S", joint_data.S);
24 ar & make_nvp(
"M", joint_data.M);
25 ar & make_nvp(
"v", joint_data.v);
26 ar & make_nvp(
"c", joint_data.c);
28 ar & make_nvp(
"U", joint_data.U);
29 ar & make_nvp(
"Dinv", joint_data.Dinv);
30 ar & make_nvp(
"UDinv", joint_data.UDinv);
31 ar & make_nvp(
"StU", joint_data.StU);
38 namespace serialization
45 template<
class Archive,
typename Derived>
51 ar & make_nvp(
"joint_q", joint_data.joint_q());
52 ar & make_nvp(
"joint_v", joint_data.joint_v());
54 ar & make_nvp(
"S", joint_data.S());
55 ar & make_nvp(
"M", joint_data.M());
56 ar & make_nvp(
"v", joint_data.v());
57 ar & make_nvp(
"c", joint_data.c());
59 ar & make_nvp(
"U", joint_data.U());
60 ar & make_nvp(
"Dinv", joint_data.Dinv());
61 ar & make_nvp(
"UDinv", joint_data.UDinv());
62 ar & make_nvp(
"StU", joint_data.StU());
69 template<
typename,
int>
class JointCollection>
72 pinocchio::JointDataBase<pinocchio::JointDataMimicTpl<Scalar, Options, JointCollection>> &
76 ar & make_nvp(
"joint_q", joint_data.joint_q());
77 ar & make_nvp(
"joint_v", joint_data.joint_v());
79 ar & make_nvp(
"S", joint_data.S());
84 template<
class Archive,
typename Scalar,
int Options,
int axis>
87 pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> & joint,
88 const unsigned int version)
90 typedef pinocchio::JointDataRevoluteTpl<Scalar, Options, axis> JointType;
91 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
94 template<
class Archive,
typename Scalar,
int Options,
int axis>
97 pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> & joint,
98 const unsigned int version)
100 typedef pinocchio::JointDataRevoluteUnboundedTpl<Scalar, Options, axis> JointType;
101 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
104 template<
class Archive,
typename Scalar,
int Options,
int axis>
107 pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> & joint,
108 const unsigned int version)
110 typedef pinocchio::JointDataPrismaticTpl<Scalar, Options, axis> JointType;
111 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
114 template<
class Archive,
typename Scalar,
int Options,
int axis>
117 pinocchio::JointDataHelicalTpl<Scalar, Options, axis> & joint,
118 const unsigned int version)
120 typedef pinocchio::JointDataHelicalTpl<Scalar, Options, axis> JointType;
121 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
124 template<
class Archive,
typename Scalar,
int Options>
127 pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> & joint,
128 const unsigned int version)
130 typedef pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options> JointType;
131 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
134 template<
class Archive,
typename Scalar,
int Options>
137 pinocchio::JointDataFreeFlyerTpl<Scalar, Options> & joint,
138 const unsigned int version)
140 typedef pinocchio::JointDataFreeFlyerTpl<Scalar, Options> JointType;
141 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
144 template<
class Archive,
typename Scalar,
int Options>
147 pinocchio::JointDataPlanarTpl<Scalar, Options> & joint,
148 const unsigned int version)
150 typedef pinocchio::JointDataPlanarTpl<Scalar, Options> JointType;
151 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
154 template<
class Archive,
typename Scalar,
int Options>
157 pinocchio::JointDataSphericalTpl<Scalar, Options> & joint,
158 const unsigned int version)
160 typedef pinocchio::JointDataSphericalTpl<Scalar, Options> JointType;
161 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
164 template<
class Archive,
typename Scalar,
int Options>
167 pinocchio::JointDataSphericalZYXTpl<Scalar, Options> & joint,
168 const unsigned int version)
170 typedef pinocchio::JointDataSphericalZYXTpl<Scalar, Options> JointType;
171 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
174 template<
class Archive,
typename Scalar,
int Options>
177 pinocchio::JointDataEllipsoidTpl<Scalar, Options> & joint,
178 const unsigned int version)
180 typedef pinocchio::JointDataEllipsoidTpl<Scalar, Options> JointType;
181 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
184 template<
class Archive,
typename Scalar,
int Options>
187 pinocchio::JointDataTranslationTpl<Scalar, Options> & joint,
188 const unsigned int version)
190 typedef pinocchio::JointDataTranslationTpl<Scalar, Options> JointType;
191 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
194 template<
class Archive,
typename Scalar,
int Options>
197 pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> & joint,
198 const unsigned int version)
200 typedef pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options> JointType;
201 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
204 template<
class Archive,
typename Scalar,
int Options>
207 pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> & joint,
208 const unsigned int version)
210 typedef pinocchio::JointDataRevoluteUnboundedUnalignedTpl<Scalar, Options> JointType;
211 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
214 template<
class Archive,
typename Scalar,
int Options>
217 pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> & joint,
218 const unsigned int version)
220 typedef pinocchio::JointDataPrismaticUnalignedTpl<Scalar, Options> JointType;
221 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
224 template<
class Archive,
typename Scalar,
int Options>
227 pinocchio::JointDataUniversalTpl<Scalar, Options> & joint,
228 const unsigned int version)
230 typedef pinocchio::JointDataUniversalTpl<Scalar, Options> JointType;
231 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
238 template<
typename S,
int O>
class JointCollectionTpl>
241 pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> & joint,
242 const unsigned int version)
244 typedef pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl> JointType;
245 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
246 ::pinocchio::Serialize<JointType>::run(ar, joint);
253 template<
typename S,
int O>
class JointCollectionTpl>
256 pinocchio::JointDataTpl<Scalar, Options, JointCollectionTpl> & joint,
259 typedef typename JointCollectionTpl<Scalar, Options>::JointDataVariant JointDataVariant;
260 ar & make_nvp(
"base_variant", base_object<JointDataVariant>(joint));
267 template<
typename S,
int O>
class JointCollectionTpl>
270 pinocchio::JointDataMimicTpl<Scalar, Options, JointCollectionTpl> & joint,
271 const unsigned int version)
273 ar & make_nvp(
"jdata", joint.jdata());
275 ar & make_nvp(
"m_q_transform", joint.q_transformed());
276 ar & make_nvp(
"m_v_transform", joint.v_transformed());
278 typedef pinocchio::JointDataMimicTpl<Scalar, Options, JointCollectionTpl> JointType;
279 fix::serialize(ar,
static_cast<pinocchio::JointDataBase<JointType> &
>(joint), version);
Main pinocchio namespace.
JointDataVector joints
Vector of joints.