bindings/python/trajectories/trajectory-base.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2018 CNRS
3 //
4 // This file is part of tsid
5 // tsid is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 // tsid is distributed in the hope that it will be
10 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Lesser Public License for more details. You should have
13 // received a copy of the GNU Lesser General Public License along with
14 // tsid If not, see
15 // <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef __tsid_python_traj_sample_hpp__
19 #define __tsid_python_traj_sample_hpp__
20 
22 
23 #include <tsid/math/utils.hpp>
25 
26 #include <pinocchio/bindings/python/utils/deprecation.hpp>
27 #include <assert.h>
28 namespace tsid {
29 namespace python {
30 namespace bp = boost::python;
32 
33 template <typename TrajSample>
35  : public boost::python::def_visitor<
36  TrajectorySamplePythonVisitor<TrajSample> > {
37  template <class PyClass>
38 
39  void visit(PyClass& cl) const {
40  cl.def(bp::init<unsigned int>((bp::arg("size")),
41  "Default Constructor with size"))
42  .def(bp::init<unsigned int, unsigned int>(
43  (bp::arg("value_size"), bp::arg("derivative_size")),
44  "Default Constructor with value and derivative size"))
45 
46  .def("resize", &TrajectorySamplePythonVisitor::resize, bp::arg("size"))
48  bp::args("value_size", "derivative_size"))
49 
52  .def("second_derivative",
54 
58  .def("second_derivative",
60 
61  // Deprecated methods:
64  "This method is now deprecated. Please use .value"))
67  "This method is now deprecated. Please use .derivative"))
68  .def(
71  "This method is now deprecated. Please use .second_derivative"))
72 
75  "This method is now deprecated. Please use .value"))
78  "This method is now deprecated. Please use .value"))
81  "This method is now deprecated. Please use .derivative"))
84  "This method is now deprecated. Please use "
85  ".second_derivative"));
86  }
87 
88  static void setvalue_vec(TrajSample& self, const Eigen::VectorXd value) {
89  assert(self.getValue().size() == value.size());
90  self.setValue(value);
91  }
92  static void setvalue_se3(TrajSample& self, const pinocchio::SE3& value) {
93  assert(self.getValue().size() == 12);
96  tsid::math::SE3ToVector(value, self.pos);
98  }
99  static void setderivative(TrajSample& self,
100  const Eigen::VectorXd derivative) {
101  assert(self.getDerivative().size() == derivative.size());
102  self.setDerivative(derivative);
103  }
104  static void setsecond_derivative(TrajSample& self,
105  const Eigen::VectorXd second_derivative) {
106  assert(self.getSecondDerivative().size() == second_derivative.size());
107  self.setSecondDerivative(second_derivative);
108  }
109  static void resize(TrajSample& self, const unsigned int& size) {
110  self.resize(size, size);
111  }
112  static void resize2(TrajSample& self, const unsigned int& value_size,
113  const unsigned int& derivative_size) {
114  self.resize(value_size, derivative_size);
115  }
116  static Eigen::VectorXd value(const TrajSample& self) {
117  return self.getValue();
118  }
119  static Eigen::VectorXd derivative(const TrajSample& self) {
120  return self.getDerivative();
121  }
122  static Eigen::VectorXd second_derivative(const TrajSample& self) {
123  return self.getSecondDerivative();
124  }
125 
126  static void expose(const std::string& class_name) {
127  std::string doc = "Trajectory Sample info.";
128  bp::class_<TrajSample>(class_name.c_str(), doc.c_str(), bp::no_init)
130  }
131 };
132 } // namespace python
133 } // namespace tsid
134 
135 #endif // ifndef __tsid_python_traj_euclidian_hpp__
void SE3ToVector(const pinocchio::SE3 &M, RefVector vec)
pos
#define TSID_DISABLE_WARNING_POP
Definition: macros.hpp:26
#define TSID_DISABLE_WARNING_PUSH
Definition: macros.hpp:25
#define TSID_DISABLE_WARNING_DEPRECATED
Definition: macros.hpp:27
void def(const char *name, Func func)
static Eigen::VectorXd second_derivative(const TrajSample &self)
static void setvalue_se3(TrajSample &self, const pinocchio::SE3 &value)
static void resize2(TrajSample &self, const unsigned int &value_size, const unsigned int &derivative_size)
static void setvalue_vec(TrajSample &self, const Eigen::VectorXd value)
FCL_REAL size() const
static void setsecond_derivative(TrajSample &self, const Eigen::VectorXd second_derivative)
static void setderivative(TrajSample &self, const Eigen::VectorXd derivative)
static void resize(TrajSample &self, const unsigned int &size)


tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sun Jul 2 2023 02:21:51