32 #ifndef SRIGIDBODY_HPP_
33 #define SRIGIDBODY_HPP_
35 #include <scl/DataTypes.hpp>
36 #include <scl/data_structs/SObject.hpp>
38 #include <sutil/CMappedList.hpp>
41 #include <Eigen/Geometry>
55 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57 Eigen::VectorXd pos_in_parent_;
59 Eigen::VectorXd ori_parent_quat_;
60 Eigen::VectorXd scaling_;
64 std::string file_name_;
67 enum EGraphicObjectType{ GRAPHIC_TYPE_FILE_OBJ, GRAPHIC_TYPE_SPHERE, GRAPHIC_TYPE_CUBOID, GRAPHIC_TYPE_CYLINDER,
68 GRAPHIC_TYPE_NOT_INIT };
78 pos_in_parent_.setZero(3);
79 ori_parent_quat_.setZero(4);
80 ori_parent_quat_(3) = 1;
81 scaling_.setConstant(3,1);
84 class_ = GRAPHIC_TYPE_NOT_INIT;
99 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
107 std::string robot_name_;
114 std::string parent_name_;
116 std::vector<SRigidBody*> child_addrs_;
119 std::vector<SRigidBody*> gr_parent_names_;
120 std::vector<SRigidBody*> gr_parent_addrs_;
121 std::vector<SRigidBody*> gr_child_addrs_;
141 std::string joint_name_;
142 sFloat joint_limit_lower_, joint_limit_upper_;
143 sFloat joint_default_pos_;
148 std::vector<std::string> sp_joint_name_;
149 std::vector<sBool> sp_joint_broken_in_spanning_tree_;
150 Eigen::VectorXd sp_joint_limit_lower_, sp_joint_limit_upper_, sp_joint_default_pos_;
156 std::vector<SRigidBodyGraphics> graphics_obj_vec_;
157 sInt collision_type_;
158 ERenderType render_type_;
Eigen::Vector3d com_
Center of mass position (in own frame)
Definition: SRigidBody.hpp:133
EGraphicObjectType
Definition: SRigidBody.hpp:67
double color_[3]
Definition: SRigidBody.hpp:74
Eigen::Vector3d pos_in_parent_
Position in the parent frame.
Definition: SRigidBody.hpp:127
EGraphicObjectType class_
Definition: SRigidBody.hpp:71
Definition: SRigidBody.hpp:94
SRigidBody()
Definition: SRigidBody.cpp:39
sFloat mass_
Mass.
Definition: SRigidBody.hpp:134
Eigen::MatrixXd sp_S_joint_
Column vectors correspond to spatial directions of motion.
Definition: SRigidBody.hpp:151
bool sBool
Definition: DataTypes.hpp:54
Eigen::MatrixXd sp_Sorth_joint_
Column vectors correspond to spatial directions of constraint.
Definition: SRigidBody.hpp:152
Eigen::Quaternion< sFloat > ori_parent_quat_
Definition: SRigidBody.hpp:130
void init()
Definition: SRigidBody.cpp:46
EJointType
Definition: DataTypes.hpp:110
double sFloat
Definition: DataTypes.hpp:72
sInt link_id_
Definition: SRigidBody.hpp:111
Definition: SRigidBody.hpp:50
int sInt
Definition: DataTypes.hpp:64
Eigen::Matrix3d inertia_
Inertia at the center of mass.
Definition: SRigidBody.hpp:135
Definition: SObject.hpp:43
sInt link_is_fixed_
(No joints) Fixed links are simply merged into upper links.
Definition: SRigidBody.hpp:137