33 #ifndef DART_UTILS_MJCF_DETAIL_SITE_HPP_
34 #define DART_UTILS_MJCF_DETAIL_SITE_HPP_
48 namespace MjcfParser {
61 const std::string&
getName()
const;
65 const Eigen::Vector3d&
getSize()
const;
83 const Eigen::Vector4d&
getRGBA()
const;
127 Eigen::Vector3d
mSize{Eigen::Vector3d::Zero()};
129 Eigen::Vector4d
mRGBA{Eigen::Vector4d(0.5, 0.5, 0.5, 1)};
138 Eigen::Vector3d
mPos{Eigen::Vector3d::Zero()};
141 Eigen::Quaterniond
mQuat{Eigen::Quaterniond::Identity()};
172 Eigen::Vector3d
mSize{Eigen::Vector3d::Constant(0.005)};
174 Eigen::Vector4d
mRGBA{Eigen::Vector4d(0.5, 0.5, 0.5, 1)};
Definition: Compiler.hpp:51
const Eigen::Isometry3d & getWorldTransform() const
Definition: Site.cpp:462
Eigen::Isometry3d mWorldTransform
Definition: Site.hpp:180
Errors postprocess(const Body *body, const Compiler &compiler)
Updates attributes and elements that require the compiled parent element.
Definition: Site.cpp:316
Eigen::Isometry3d mRelativeTransform
Definition: Site.hpp:178
Eigen::Vector3d mSize
Site size parameters.
Definition: Site.hpp:172
int mGroup
Definition: Site.hpp:169
const Eigen::Vector3d & getBoxHalfSize() const
Definition: Site.cpp:426
Site()=default
Default constructor.
double getCapsuleRadius() const
Definition: Site.cpp:378
const Eigen::Vector3d & getSize() const
Definition: Site.cpp:366
std::string mName
Name of the Site.
Definition: Site.hpp:164
Eigen::Vector4d mRGBA
Definition: Site.hpp:174
Eigen::Vector3d getEllipsoidDiameters() const
Definition: Site.cpp:402
Eigen::Vector3d getBoxSize() const
Definition: Site.cpp:432
const Eigen::Vector3d & getEllipsoidRadii() const
Definition: Site.cpp:396
GeomType mType
Type of Siteetric shape.
Definition: Site.hpp:167
const Eigen::Vector4d & getRGBA() const
Definition: Site.cpp:438
double computeVolume() const
Definition: Site.cpp:468
Errors preprocess(const Compiler &compiler)
Updates attributes and elements that doesn't require any other elements.
Definition: Site.cpp:199
Errors read(tinyxml2::XMLElement *element)
Definition: Site.cpp:45
double getCylinderLength() const
Definition: Site.cpp:420
double getCylinderHalfLength() const
Definition: Site.cpp:414
GeomType getType() const
Definition: Site.cpp:354
double getCapsuleLength() const
Definition: Site.cpp:390
int getGroup() const
Definition: Site.cpp:360
Data mData
Definition: Site.hpp:161
double getCylinderRadius() const
Definition: Site.cpp:408
double mMass
Definition: Site.hpp:176
const Eigen::Isometry3d & getRelativeTransform() const
Definition: Site.cpp:450
const std::string & getName() const
Definition: Site.cpp:348
void setWorldTransform(const Eigen::Isometry3d &tf)
Definition: Site.cpp:456
Errors compile(const Compiler &compiler)
Updates attributes and elements that require the preprocessed child elements of this <Site>.
Definition: Site.cpp:309
double getSphereRadius() const
Definition: Site.cpp:372
const Eigen::Vector3d & getFriction() const
Eigen::Matrix3d computeInertia() const
Definition: Site.cpp:475
void setRelativeTransform(const Eigen::Isometry3d &tf)
Definition: Site.cpp:444
double getCapsuleHalfLength() const
Definition: Site.cpp:384
Definition: Worldbody.hpp:54
boost::optional< T > optional
Definition: Optional.hpp:50
GeomType
Definition: Types.hpp:119
std::vector< Error > Errors
Definition: Error.hpp:85
Definition: BulletCollisionDetector.cpp:65
Intermediate raw data read from the XML file.
Definition: Site.hpp:117
common::optional< Eigen::Vector6d > mFromTo
This attribute can only be used with capsule, cylinder, ellipsoid and box Sites.
Definition: Site.hpp:134
common::optional< Eigen::Vector4d > mAxisAngle
These are the quantities (x, y, z, a) mentioned above.
Definition: Site.hpp:146
int mGroup
Definition: Site.hpp:124
Eigen::Vector3d mSize
Site size parameters.
Definition: Site.hpp:127
common::optional< Eigen::Vector6d > mXYAxes
The first 3 numbers are the X axis of the frame.
Definition: Site.hpp:155
Eigen::Vector4d mRGBA
Definition: Site.hpp:129
common::optional< std::string > mName
Name of the Site.
Definition: Site.hpp:119
common::optional< Eigen::Vector3d > mZAxis
The Z axis of the frame.
Definition: Site.hpp:158
Eigen::Vector3d mPos
Position of the Site frame, in local or global coordinates as determined by the coordinate attribute ...
Definition: Site.hpp:138
GeomType mType
Type of Siteetric shape.
Definition: Site.hpp:122
Eigen::Quaterniond mQuat
Quaternion.
Definition: Site.hpp:141
common::optional< Eigen::Vector3d > mEuler
Rotation angles around three coordinate axes.
Definition: Site.hpp:149