17 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
34 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
47 return bp::make_tuple(reduced_model,reduced_geom_model);
51 template <
typename,
int>
class JointCollectionTpl,
52 typename ConfigVectorType>
59 std::vector<GeometryModel,Eigen::aligned_allocator<GeometryModel> > reduced_geom_models;
64 return bp::make_tuple(reduced_model, reduced_geom_models);
69 using namespace Eigen;
71 typedef std::vector<GeometryModel,Eigen::aligned_allocator<GeometryModel> > GeometryModelVector;
74 bp::def(
"appendModel",
76 bp::args(
"modelA",
"modelB",
"frame_in_modelA",
"aMb"),
77 "Append a child model into a parent model, after a specific frame given by its index.\n\n"
79 "\tmodelA: the parent model\n"
80 "\tmodelB: the child model\n"
81 "\tframeInModelA: index of the frame of modelA where to append modelB\n"
82 "\taMb: pose of modelB universe joint (index 0) in frameInModelA\n");
84 bp::def(
"appendModel",
85 &appendModel_proxy<double,0,JointCollectionDefaultTpl>,
86 bp::args(
"modelA",
"modelB",
"geomModelA",
"geomModelB",
"frame_in_modelA",
"aMb"),
87 "Append a child (geometry) model into a parent (geometry) model, after a specific frame given by its index.\n\n"
89 "\tmodelA: the parent model\n"
90 "\tmodelB: the child model\n"
91 "\tgeomModelA: the parent geometry model\n"
92 "\tgeomModelB: the child geometry model\n"
93 "\tframeInModelA: index of the frame of modelA where to append modelB\n"
94 "\taMb: pose of modelB universe joint (index 0) in frameInModelA\n");
96 bp::def(
"buildReducedModel",
97 (
Model (*)(
const Model &,
const std::vector<JointIndex> &,
const Eigen::MatrixBase<VectorXd> &))
98 &pinocchio::buildReducedModel<double,0,JointCollectionDefaultTpl,VectorXd>,
100 "list_of_joints_to_lock",
101 "reference_configuration"),
102 "Build a reduce model from a given input model and a list of joint to lock.\n\n"
104 "\tmodel: input kinematic modell to reduce\n"
105 "\tlist_of_joints_to_lock: list of joint indexes to lock\n"
106 "\treference_configuration: reference configuration to compute the placement of the lock joints\n");
108 bp::def(
"buildReducedModel",
109 (bp::tuple (*)(
const Model &,
111 const std::vector<JointIndex> &,
112 const Eigen::MatrixBase<VectorXd> &))
113 &buildReducedModel<double,0,JointCollectionDefaultTpl,VectorXd>,
116 "list_of_joints_to_lock",
117 "reference_configuration"),
118 "Build a reduced model and a reduced geometry model from a given input model,"
119 "an input geometry model and a list of joints to lock.\n\n"
121 "\tmodel: input kinematic model to reduce\n"
122 "\tgeom_model: input geometry model to reduce\n"
123 "\tlist_of_joints_to_lock: list of joint indexes to lock\n"
124 "\treference_configuration: reference configuration to compute the placement of the locked joints\n");
126 bp::def(
"buildReducedModel",
127 (bp::tuple(*)(
const Model &,
128 const std::vector<
GeometryModel,Eigen::aligned_allocator<GeometryModel> > &,
129 const std::vector<JointIndex> &,
130 const Eigen::MatrixBase<VectorXd> &))
131 buildReducedModel<double, 0, JointCollectionDefaultTpl, VectorXd>,
132 bp::args(
"model",
"list_of_geom_models",
"list_of_joints_to_lock",
133 "reference_configuration"),
134 "Build a reduced model and the related reduced geometry models from a given "
136 "a list of input geometry models and a list of joints to lock.\n\n"
138 "\tmodel: input kinematic model to reduce\n"
139 "\tlist_of_geom_models: input geometry models to reduce\n"
140 "\tlist_of_joints_to_lock: list of joint indexes to lock\n"
141 "\treference_configuration: reference configuration to compute the "
142 "placement of the locked joints\n");