5#ifndef __pinocchio_serialization_joints_model_hpp__
6#define __pinocchio_serialization_joints_model_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(
"m_nq", joint.m_nq);
20 ar & make_nvp(
"m_nv", joint.m_nv);
21 ar & make_nvp(
"m_nvExtended", joint.m_nvExtended);
22 ar & make_nvp(
"m_idx_q", joint.m_idx_q);
23 ar & make_nvp(
"m_nqs", joint.m_nqs);
24 ar & make_nvp(
"m_idx_v", joint.m_idx_v);
25 ar & make_nvp(
"m_nvs", joint.m_nvs);
26 ar & make_nvp(
"m_idx_vExtended", joint.m_idx_vExtended);
27 ar & make_nvp(
"m_nvExtendeds", joint.m_nvExtendeds);
28 ar & make_nvp(
"njoints", joint.njoints);
30 ar & make_nvp(
"joints", joint.joints);
31 ar & make_nvp(
"jointPlacements", joint.jointPlacements);
38 namespace serialization
45 template<
class Archive,
typename Derived>
49 split_free(ar, joint, version);
53 template<
class Archive,
typename Derived>
59 const pinocchio::JointIndex i_id = joint.id();
60 const int i_q = joint.idx_q(), i_v = joint.idx_v(), i_vExtended = joint.idx_vExtended();
62 ar & make_nvp(
"i_id", i_id);
63 ar & make_nvp(
"i_q", i_q);
64 ar & make_nvp(
"i_v", i_v);
65 ar & make_nvp(
"i_vExtended", i_vExtended);
68 template<
typename Derived>
77 void run(pinocchio::JointIndex i_id,
int i_q,
int i_v,
int i_vExtended)
79 joint.setIndexes(i_id, i_q, i_v, i_vExtended);
83 template<
typename Scalar,
int Options,
template<
typename S,
int O>
class JointCollectionTpl>
93 void run(pinocchio::JointIndex i_id,
int i_q,
int i_v,
int i_vExtended)
95 joint_m.setMimicIndexes(joint_m.jmodel().id(), i_q, i_v, joint_m.jmodel().idx_vExtended());
96 joint_m.setIndexes(i_id, 0, 0, i_vExtended);
100 template<
class Archive,
typename Derived>
104 pinocchio::JointIndex i_id;
105 int i_q, i_v, i_vExtended;
107 ar & make_nvp(
"i_id", i_id);
108 ar & make_nvp(
"i_q", i_q);
109 ar & make_nvp(
"i_v", i_v);
110 ar & make_nvp(
"i_vExtended", i_vExtended);
115 template<
class Archive,
typename Scalar,
int Options,
int axis>
119 const unsigned int version)
125 template<
class Archive,
typename Scalar,
int Options,
int axis>
129 const unsigned int version)
135 template<
class Archive,
typename Scalar,
int Options,
int axis>
139 const unsigned int version)
145 template<
class Archive,
typename Scalar,
int Options,
int axis>
149 const unsigned int version)
153 ar & make_nvp(
"m_pitch", joint.m_pitch);
156 template<
class Archive,
typename Scalar,
int Options>
160 const unsigned int version)
164 ar & make_nvp(
"axis", joint.axis);
165 ar & make_nvp(
"m_pitch", joint.m_pitch);
168 template<
class Archive,
typename Scalar,
int Options>
172 const unsigned int version)
178 template<
class Archive,
typename Scalar,
int Options>
182 const unsigned int version)
188 template<
class Archive,
typename Scalar,
int Options>
192 const unsigned int version)
198 template<
class Archive,
typename Scalar,
int Options>
202 const unsigned int version)
208 template<
class Archive,
typename Scalar,
int Options>
212 const unsigned int version)
218 template<
class Archive,
typename Scalar,
int Options>
222 const unsigned int version)
226 ar & make_nvp(
"axis", joint.axis);
229 template<
class Archive,
typename Scalar,
int Options>
233 const unsigned int version)
237 ar & make_nvp(
"axis", joint.axis);
240 template<
class Archive,
typename Scalar,
int Options>
244 const unsigned int version)
248 ar & make_nvp(
"axis", joint.axis);
251 template<
class Archive,
typename Scalar,
int Options>
255 const unsigned int version)
259 ar & make_nvp(
"axis1", joint.axis1);
260 ar & make_nvp(
"axis2", joint.axis2);
267 template<
typename S,
int O>
class JointCollectionTpl>
271 const unsigned int version)
283 template<
typename S,
int O>
class JointCollectionTpl>
287 const unsigned int version)
292 typedef typename JointCollectionTpl<Scalar, Options>::JointModelVariant JointModelVariant;
293 ar & make_nvp(
"base_variant", base_object<JointModelVariant>(joint));
300 template<
typename S,
int O>
class JointCollectionTpl>
304 const unsigned int version)
307 ar & make_nvp(
"jmodel", joint.jmodel());
308 ar & make_nvp(
"scaling", joint.scaling());
309 ar & make_nvp(
"offset", joint.offset());
Main pinocchio namespace.