33 #ifndef DART_DYNAMICS_DETAIL_SKELETONASPECT_HPP_ 34 #define DART_DYNAMICS_DETAIL_SKELETONASPECT_HPP_ 37 #include "dart/common/Composite.hpp" 38 #include "dart/common/EmbeddedAspect.hpp" 39 #include "dart/common/ProxyAspect.hpp" 40 #include "dart/common/RequiresAspect.hpp" 80 const std::string& _name =
"Skeleton",
81 bool _isMobile =
true,
82 const Eigen::Vector3d& _gravity = Eigen::Vector3d(0.0, 0.0, -9.81),
83 double _timeStep = 0.001,
84 bool _enabledSelfCollisionCheck =
false,
85 bool _enableAdjacentBodyCheck =
false);
91 using BodyNodeStateVector = std::vector<common::Composite::State>;
92 using BodyNodePropertiesVector = std::vector<common::Composite::Properties>;
93 using JointStateVector = std::vector<common::Composite::State>;
94 using JointPropertiesVector = std::vector<common::Composite::Properties>;
97 void setAllBodyNodeStates(
Skeleton* skel,
const BodyNodeStateVector& states);
100 BodyNodeStateVector getAllBodyNodeStates(
const Skeleton* skel);
103 void setAllBodyNodeProperties(
104 Skeleton* skel,
const BodyNodePropertiesVector& properties);
107 BodyNodePropertiesVector getAllBodyNodeProperties(
const Skeleton* skel);
114 &setAllBodyNodeStates,
115 &getAllBodyNodeStates>;
121 BodyNodePropertiesVector,
122 &setAllBodyNodeProperties,
123 &getAllBodyNodeProperties>;
132 void setAllJointStates(Skeleton* skel,
const JointStateVector& states);
135 JointStateVector getAllJointStates(
const Skeleton* skel);
138 void setAllJointProperties(
139 Skeleton* skel,
const JointPropertiesVector& properties);
142 JointPropertiesVector getAllJointProperties(
const Skeleton* skel);
146 common::Aspect::State,
154 common::Aspect::Properties,
156 JointPropertiesVector,
157 &setAllJointProperties,
158 &getAllJointProperties>;
180 #endif // DART_DYNAMICS_DETAIL_SKELETONASPECT_HPP_ std::string mName
Name of the Skeleton.
Definition: SkeletonAspect.hpp:56
RequiresAspect allows classes that inherit Composite to know which Aspects are required for their ope...
Definition: RequiresAspect.hpp:49
double mTimeStep
Time step for implicit joint damping force.
Definition: SkeletonAspect.hpp:67
If your Aspect has Properties, then that Properties class should inherit this Aspect::Properties clas...
Definition: Aspect.hpp:85
bool mEnabledSelfCollisionCheck
True if self collision check is enabled.
Definition: SkeletonAspect.hpp:71
Definition: ProxyAspect.hpp:57
Definition: Aspect.cpp:40
If your Aspect has a State, then that State class should inherit this Aspect::State class...
Definition: Aspect.hpp:64
bool mIsMobile
If the skeleton is not mobile, its dynamic effect is equivalent to having infinite mass...
Definition: SkeletonAspect.hpp:61
The Properties of this Skeleton which are independent of the components within the Skeleton...
Definition: SkeletonAspect.hpp:53
Definition: Cloneable.hpp:139
Eigen::Vector3d mGravity
Gravity vector.
Definition: SkeletonAspect.hpp:64
SkeletonAspectProperties(const std::string &_name="Skeleton", bool _isMobile=true, const Eigen::Vector3d &_gravity=Eigen::Vector3d(0.0, 0.0, -9.81), double _timeStep=0.001, bool _enabledSelfCollisionCheck=false, bool _enableAdjacentBodyCheck=false)
Default constructor.
Definition: Skeleton.cpp:178
This is an alternative to EmbedProperties which allows your class to also inherit other Composite obj...
Definition: EmbeddedAspect.hpp:237
class Skeleton
Definition: Skeleton.hpp:55
bool mEnabledAdjacentBodyCheck
True if self collision check is enabled, including adjacent bodies.
Definition: SkeletonAspect.hpp:76