10 #ifndef SPATIAL_DYN_STRUCTS_RIGID_BODY_H_
11 #define SPATIAL_DYN_STRUCTS_RIGID_BODY_H_
17 #include "spatial_dyn/eigen/spatial_math.h"
18 #include "spatial_dyn/structs/graphics.h"
19 #include "spatial_dyn/structs/joint.h"
23 class ArticulatedBody;
38 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
73 int id()
const {
return id_; }
74 void set_id(
int id) { id_ =
id; }
88 const Eigen::Isometry3d&
T_to_parent()
const {
return T_to_parent_; }
97 template<
typename Derived>
99 const Eigen::Vector3d& pos_in_parent) {
100 T_to_parent_ = Eigen::Translation3d(pos_in_parent) * ori_in_parent;
126 void set_inertia(
double mass,
const Eigen::Vector3d& com,
const Eigen::Vector6d& I_com_flat);
153 Eigen::Isometry3d T_to_parent_ = Eigen::Isometry3d::Identity();
167 std::ostream&
operator<<(std::ostream& os,
const RigidBody& rb);
Definition: articulated_body.h:33
Definition: rigid_body.h:34
void set_joint(const Joint &joint)
Definition: rigid_body.h:146
void set_T_to_parent(const Eigen::RotationBase< Derived, 3 > &ori_in_parent, const Eigen::Vector3d &pos_in_parent)
Definition: rigid_body.h:98
RigidBody(const std::string &name)
Definition: rigid_body.h:53
std::string name
Definition: rigid_body.h:60
int id_parent() const
Definition: rigid_body.h:80
const Joint & joint() const
Definition: rigid_body.h:139
int id() const
Definition: rigid_body.h:73
std::vector< Graphics > graphics
Definition: rigid_body.h:67
const SpatialInertiad & inertia() const
Definition: rigid_body.h:116
void set_T_to_parent(const Eigen::Isometry3d &T_to_parent)
Definition: rigid_body.h:109
const Eigen::Isometry3d & T_to_parent() const
Definition: rigid_body.h:88
void set_inertia(double mass, const Eigen::Vector3d &com, const Eigen::Vector6d &I_com_flat)
Definition: rigid_body.cc:16
Definition: spatial_inertia.h:21
std::ostream & operator<<(std::ostream &os, const ArticulatedBody &ab)
Definition: articulated_body.cc:346
Definition: discrete_dynamics.cc:21