33#ifndef DART_UTILS_MJCF_DETAIL_BODYATTRIBUTES_HPP_
34#define DART_UTILS_MJCF_DETAIL_BODYATTRIBUTES_HPP_
58 std::optional<std::string>
mName;
71 std::optional<Eigen::Vector3d>
mPos;
74 Eigen::Quaterniond
mQuat{Eigen::Quaterniond::Identity()};
84 std::optional<Eigen::Vector3d>
mEuler;
93 std::optional<Eigen::Vector3d>
mZAxis;
102 tinyxml2::XMLElement* element,
103 const std::optional<Size>& size);
Errors appendBodyAttributes(BodyAttributes &attributes, tinyxml2::XMLElement *element, const std::optional< Size > &size)
Definition BodyAttributes.cpp:45
std::vector< Error > Errors
Definition Error.hpp:85
Definition BulletCollisionDetector.cpp:60
Intermediate raw data read from the XML file.
Definition BodyAttributes.hpp:56
Eigen::VectorXd mUser
Definition BodyAttributes.hpp:95
std::optional< Eigen::Vector4d > mAxisAngle
These are the quantities (x, y, z, a) mentioned above.
Definition BodyAttributes.hpp:79
std::optional< Inertial > mInertial
Definition BodyAttributes.hpp:97
std::optional< std::string > mChildClass
If this attribute is present, all descendant elements that admit a defaults class will use the class ...
Definition BodyAttributes.hpp:64
std::optional< Eigen::Vector3d > mPos
The 3D position of the body frame, in local or global coordinates as determined by the coordinate att...
Definition BodyAttributes.hpp:71
std::optional< Eigen::Vector6d > mXYAxes
The first 3 numbers are the X axis of the frame.
Definition BodyAttributes.hpp:90
Eigen::Quaterniond mQuat
Quaternion.
Definition BodyAttributes.hpp:74
std::optional< Eigen::Vector3d > mZAxis
The Z axis of the frame.
Definition BodyAttributes.hpp:93
std::optional< Eigen::Vector3d > mEuler
Rotation angles around three coordinate axes.
Definition BodyAttributes.hpp:84
std::optional< std::string > mName
Name of the body.
Definition BodyAttributes.hpp:58
bool mMocap
If this attribute is "true", the body is labeled as a mocap body.
Definition BodyAttributes.hpp:67