hpp-python  9.0.2
python bindings for HPP, based on boost python
device.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2025, CNRS
3 // Authors: Paul Sardin
4 //
5 
6 #ifndef PYHPP_PINOCCHIO_DEVICE_HH
7 #define PYHPP_PINOCCHIO_DEVICE_HH
8 
9 #include <hpp/manipulation/device.hh>
10 #include <hpp/pinocchio/device.hh>
11 #include <hpp/pinocchio/fwd.hh>
12 
13 namespace pyhpp {
14 namespace pinocchio {
15 
30 
31 struct Device {
33 
34  Device(const DevicePtr_t& object) : obj(object) {}
35 
36  const std::string& name() const { return obj->name(); }
37  const LiegroupSpacePtr_t& configSpace() const { return obj->configSpace(); }
38  Model& model() { return obj->model(); }
39  Data& data() { return obj->data(); }
40  GeomData& geomData() { return obj->geomData(); }
41  GeomModel& geomModel() { return obj->geomModel(); }
42  GeomModel& visualModel() { return obj->visualModel(); }
43  size_type configSize() const { return obj->configSize(); }
44  size_type numberDof() const { return obj->numberDof(); }
46  return obj->currentConfiguration();
47  }
49  return obj->currentConfiguration(configuration);
50  }
51  void computeForwardKinematics(int flag) {
52  obj->computeForwardKinematics(flag);
53  }
55  obj->computeFramesForwardKinematics();
56  }
57  void updateGeometryPlacements() { obj->updateGeometryPlacements(); }
58  void removeJoints(const std::vector<std::string>& jointNames,
59  Configuration_t q) {
60  obj->removeJoints(jointNames, q);
61  }
63  auto manipDevice = HPP_DYNAMIC_PTR_CAST(hpp::manipulation::Device, obj);
64  if (!manipDevice) {
65  throw std::runtime_error("Not a manipulation device²");
66  }
67  return manipDevice;
68  }
69 };
70 
71 } // namespace pinocchio
72 } // namespace pyhpp
73 
74 #endif // PYHPP_PINOCCHIO_DEVICE_HH
shared_ptr< Device > DevicePtr_t
shared_ptr< Device > DevicePtr_t
::pinocchio::DataTpl< value_type, 0, ::pinocchio::JointCollectionDefaultTpl > Data
::pinocchio::GeometryData GeomData
shared_ptr< LiegroupSpace > LiegroupSpacePtr_t
matrix_t::Index size_type
::pinocchio::SE3 Transform3s
vector_t Configuration_t
::pinocchio::JointIndex JointIndex
::pinocchio::GeometryModel GeomModel
::pinocchio::ModelTpl< value_type, 0, ::pinocchio::JointCollectionDefaultTpl > Model
shared_ptr< Model > ModelPtr_t
Eigen::Ref< const Configuration_t > ConfigurationIn_t
hpp::pinocchio::Model Model
Definition: device.hh:16
hpp::pinocchio::Data Data
Definition: device.hh:17
hpp::pinocchio::value_type value_type
Definition: device.hh:29
hpp::pinocchio::DevicePtr_t DevicePtr_t
Definition: device.cc:62
hpp::pinocchio::size_type size_type
Definition: device.hh:25
hpp::pinocchio::GeomData GeomData
Definition: device.hh:19
hpp::pinocchio::LiegroupSpacePtr_t LiegroupSpacePtr_t
Definition: device.hh:20
hpp::pinocchio::GeomModel GeomModel
Definition: device.hh:21
hpp::pinocchio::Transform3s Transform3s
Definition: device.hh:26
hpp::pinocchio::Computation_t Computation_t
Definition: device.hh:28
hpp::pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: device.hh:23
hpp::pinocchio::ModelPtr_t ModelPtr_t
Definition: device.hh:18
hpp::pinocchio::Configuration_t Configuration_t
Definition: device.hh:22
hpp::pinocchio::JointIndex JointIndex
Definition: device.hh:24
Definition: fwd.hh:35
#define HPP_DYNAMIC_PTR_CAST(t, x)
size_type configSize() const
Definition: device.hh:43
GeomModel & geomModel()
Definition: device.hh:41
Data & data()
Definition: device.hh:39
GeomModel & visualModel()
Definition: device.hh:42
void computeFramesForwardKinematics()
Definition: device.hh:54
const Configuration_t & currentConfiguration() const
Definition: device.hh:45
hpp::manipulation::DevicePtr_t asManipulationDevice() const
Definition: device.hh:62
void computeForwardKinematics(int flag)
Definition: device.hh:51
const std::string & name() const
Definition: device.hh:36
bool currentConfiguration(ConfigurationIn_t configuration)
Definition: device.hh:48
const LiegroupSpacePtr_t & configSpace() const
Definition: device.hh:37
DevicePtr_t obj
Definition: device.hh:32
void updateGeometryPlacements()
Definition: device.hh:57
Model & model()
Definition: device.hh:38
void removeJoints(const std::vector< std::string > &jointNames, Configuration_t q)
Definition: device.hh:58
GeomData & geomData()
Definition: device.hh:40
size_type numberDof() const
Definition: device.hh:44
Device(const DevicePtr_t &object)
Definition: device.hh:34