10 #include <Eigen/StdVector>
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
35 :
Device(name, bodyName, X_b_s)
36 { type_ =
"BodySensor"; }
40 position_ = bs.position_;
41 orientation_ = bs.orientation_;
42 linear_velocity_ = bs.linear_velocity_;
43 angular_velocity_ = bs.angular_velocity_;
44 linear_acceleration_ = bs.linear_acceleration_;
45 angular_acceleration_ = bs.angular_acceleration_;
53 position_ = bs.position_;
54 orientation_ = bs.orientation_;
55 linear_velocity_ = bs.linear_velocity_;
56 angular_velocity_ = bs.angular_velocity_;
57 linear_acceleration_ = bs.linear_acceleration_;
58 angular_acceleration_ = bs.angular_acceleration_;
74 inline const Eigen::Vector3d &
position()
const {
return position_; }
80 inline const Eigen::Quaterniond &
orientation()
const {
return orientation_; }
91 inline const Eigen::Vector3d &
linearVelocity()
const {
return linear_velocity_; }
94 inline void linearVelocity(
const Eigen::Vector3d & linear_velocity) { linear_velocity_ = linear_velocity; }
97 inline const Eigen::Vector3d &
angularVelocity()
const {
return angular_velocity_; }
100 inline void angularVelocity(
const Eigen::Vector3d & angular_velocity) { angular_velocity_ = angular_velocity; }
106 MC_RTC_DEPRECATED
inline const Eigen::Vector3d &
acceleration()
const {
return linearAcceleration(); }
119 { linear_acceleration_ = linear_acceleration; }
126 { angular_acceleration_ = angular_acceleration; }
131 Eigen::Vector3d position_ = Eigen::Vector3d::Zero();
132 Eigen::Quaterniond orientation_ = Eigen::Quaterniond::Identity();
133 Eigen::Vector3d linear_velocity_ = Eigen::Vector3d::Zero();
134 Eigen::Vector3d angular_velocity_ = Eigen::Vector3d::Zero();
135 Eigen::Vector3d linear_acceleration_ = Eigen::Vector3d::Zero();
136 Eigen::Vector3d angular_acceleration_ = Eigen::Vector3d::Zero();
std::optional< Eigen::VectorXd > acceleration
#define MC_RBDYN_DLLAPI
Definition: api.h:50
Definition: generic_gripper.h:15
std::unique_ptr< Device > DevicePtr
Definition: Device.h:20
std::vector< BodySensor, Eigen::aligned_allocator< BodySensor > > BodySensorVector
Definition: BodySensor.h:139
bool operator==(const mc_rbdyn::BodySensor &lhs, const mc_rbdyn::BodySensor &rhs)
Definition: BodySensor.h:141
PTransform< double > PTransformd
Definition: BodySensor.h:20
const Eigen::Vector3d & angularVelocity() const
Definition: BodySensor.h:97
EIGEN_MAKE_ALIGNED_OPERATOR_NEW BodySensor()
Definition: BodySensor.h:23
void linearVelocity(const Eigen::Vector3d &linear_velocity)
Definition: BodySensor.h:94
MC_RTC_DEPRECATED void acceleration(const Eigen::Vector3d &acceleration)
Definition: BodySensor.h:112
const Eigen::Vector3d & position() const
Definition: BodySensor.h:74
MC_RTC_DEPRECATED const Eigen::Vector3d & acceleration() const
Definition: BodySensor.h:106
BodySensor(const std::string &name, const std::string &bodyName, const sva::PTransformd &X_b_s)
Definition: BodySensor.h:34
BodySensor & operator=(const BodySensor &bs)
Definition: BodySensor.h:48
BodySensor(BodySensor &&)=default
BodySensor(const BodySensor &bs)
Definition: BodySensor.h:38
const Eigen::Vector3d & angularAcceleration() const
Definition: BodySensor.h:122
const Eigen::Vector3d & linearAcceleration() const
Definition: BodySensor.h:115
DevicePtr clone() const override
void position(const Eigen::Vector3d &position)
Definition: BodySensor.h:77
void orientation(const Eigen::Quaterniond &orientation)
Definition: BodySensor.h:88
void angularAcceleration(const Eigen::Vector3d &angular_acceleration)
Definition: BodySensor.h:125
void angularVelocity(const Eigen::Vector3d &angular_velocity)
Definition: BodySensor.h:100
const std::string & parentBody() const
Definition: BodySensor.h:68
~BodySensor() noexcept override
const Eigen::Quaterniond & orientation() const
Definition: BodySensor.h:80
BodySensor & operator=(BodySensor &&)=default
const Eigen::Vector3d & linearVelocity() const
Definition: BodySensor.h:91
const sva::PTransformd & X_b_s() const
Definition: BodySensor.h:71
void linearAcceleration(const Eigen::Vector3d &linear_acceleration)
Definition: BodySensor.h:118
const sva::PTransformd & X_p_s() const noexcept
Definition: Device.h:67
sva::PTransformd X_p_s_
Definition: Device.h:92
const std::string & parent() const noexcept
Definition: Device.h:58
std::string parent_
Definition: Device.h:90
const std::string & name() const noexcept
Definition: Device.h:49
std::string name_
Definition: Device.h:88