DART  6.10.1
dart::utils::MjcfParser::detail::Geom Class Referencefinal

#include <Geom.hpp>

Public Member Functions

 Geom ()=default
 Default constructor. More...
 
Attributes
const std::string & getName () const
 
GeomType getType () const
 
int getConType () const
 
int getConAffinity () const
 
int getConDim () const
 
int getGroup () const
 
int getPriority () const
 
const Eigen::Vector3d & getSize () const
 
Eigen::Vector2d getPlaneHalfSize () const
 
double getSphereRadius () const
 
double getCapsuleRadius () const
 
double getCapsuleHalfLength () const
 
double getCapsuleLength () const
 
const Eigen::Vector3d & getEllipsoidRadii () const
 
Eigen::Vector3d getEllipsoidDiameters () const
 
double getCylinderRadius () const
 
double getCylinderHalfLength () const
 
double getCylinderLength () const
 
const Eigen::Vector3d & getBoxHalfSize () const
 
Eigen::Vector3d getBoxSize () const
 
const Eigen::Vector4d & getRGBA () const
 
const Eigen::Vector3d & getFriction () const
 
double getMass () const
 
double getDensity () const
 
double getVolume () const
 
const Eigen::Matrix3d & getInertia () const
 
double getSolMix () const
 
double getMargine () const
 
double getGap () const
 
void setRelativeTransform (const Eigen::Isometry3d &tf)
 
const Eigen::Isometry3d & getRelativeTransform () const
 
void setWorldTransform (const Eigen::Isometry3d &tf)
 
const Eigen::Isometry3d & getWorldTransform () const
 
const std::string & getHField () const
 
const std::string & getMesh () const
 

Private Member Functions

Errors read (tinyxml2::XMLElement *element, const Defaults &defaults, const GeomAttributes &defaultAttributes)
 
Errors preprocess (const Compiler &compiler)
 Updates attributes and elements that doesn't require any other elements. More...
 
Errors compile (const Compiler &compiler)
 Updates attributes and elements that require the preprocessed child elements of this <geom>. More...
 
Errors postprocess (const Body *body, const Compiler &compiler)
 Updates attributes and elements that require the compiled parent element. More...
 
double computeVolume () const
 
Eigen::Matrix3d computeInertia () const
 

Private Attributes

GeomAttributes mAttributes
 
std::string mName {""}
 Name of the geom. More...
 
GeomType mType {GeomType::SPHERE}
 Type of geometric shape. More...
 
int mConType {1}
 
int mConAffinity {1}
 
int mConDim {3}
 
int mGroup {0}
 
int mPriority {0}
 
Eigen::Vector3d mSize {Eigen::Vector3d::Zero()}
 Geom size parameters. More...
 
Eigen::Vector4d mRGBA {Eigen::Vector4d(0.5, 0.5, 0.5, 1)}
 
Eigen::Vector3d mFriction {Eigen::Vector3d(1, 0.005, 0.0001)}
 
double mMass
 
double mDensity {1000}
 Material density used to compute the geom mass and inertia. More...
 
double mVolume {0}
 
Eigen::Matrix3d mInertia {Eigen::Matrix3d::Identity()}
 
double mSolMix {1}
 Weight used for averaging of contact parameters, and interacts with the priority attribute. More...
 
double mMargin {0}
 Distance threshold below which contacts are detected and included in the global array mjData.contact. More...
 
double mGap {0}
 This attribute is used to enable the generation of inactive contacts, i.e. More...
 
Eigen::Isometry3d mRelativeTransform {Eigen::Isometry3d::Identity()}
 
Eigen::Isometry3d mWorldTransform {Eigen::Isometry3d::Identity()}
 
std::string mHField
 
std::string mMesh
 
double mFitScale {1}
 

Friends

class Body
 
class Worldbody
 

Constructor & Destructor Documentation

◆ Geom()

dart::utils::MjcfParser::detail::Geom::Geom ( )
default

Default constructor.

Member Function Documentation

◆ compile()

Errors dart::utils::MjcfParser::detail::Geom::compile ( const Compiler compiler)
private

Updates attributes and elements that require the preprocessed child elements of this <geom>.

◆ computeInertia()

Eigen::Matrix3d dart::utils::MjcfParser::detail::Geom::computeInertia ( ) const
private

◆ computeVolume()

double dart::utils::MjcfParser::detail::Geom::computeVolume ( ) const
private

◆ getBoxHalfSize()

const Eigen::Vector3d & dart::utils::MjcfParser::detail::Geom::getBoxHalfSize ( ) const

◆ getBoxSize()

Eigen::Vector3d dart::utils::MjcfParser::detail::Geom::getBoxSize ( ) const

◆ getCapsuleHalfLength()

double dart::utils::MjcfParser::detail::Geom::getCapsuleHalfLength ( ) const

◆ getCapsuleLength()

double dart::utils::MjcfParser::detail::Geom::getCapsuleLength ( ) const

◆ getCapsuleRadius()

double dart::utils::MjcfParser::detail::Geom::getCapsuleRadius ( ) const

◆ getConAffinity()

int dart::utils::MjcfParser::detail::Geom::getConAffinity ( ) const

◆ getConDim()

int dart::utils::MjcfParser::detail::Geom::getConDim ( ) const

◆ getConType()

int dart::utils::MjcfParser::detail::Geom::getConType ( ) const

◆ getCylinderHalfLength()

double dart::utils::MjcfParser::detail::Geom::getCylinderHalfLength ( ) const

◆ getCylinderLength()

double dart::utils::MjcfParser::detail::Geom::getCylinderLength ( ) const

◆ getCylinderRadius()

double dart::utils::MjcfParser::detail::Geom::getCylinderRadius ( ) const

◆ getDensity()

double dart::utils::MjcfParser::detail::Geom::getDensity ( ) const

◆ getEllipsoidDiameters()

Eigen::Vector3d dart::utils::MjcfParser::detail::Geom::getEllipsoidDiameters ( ) const

◆ getEllipsoidRadii()

const Eigen::Vector3d & dart::utils::MjcfParser::detail::Geom::getEllipsoidRadii ( ) const

◆ getFriction()

const Eigen::Vector3d & dart::utils::MjcfParser::detail::Geom::getFriction ( ) const

◆ getGap()

double dart::utils::MjcfParser::detail::Geom::getGap ( ) const

◆ getGroup()

int dart::utils::MjcfParser::detail::Geom::getGroup ( ) const

◆ getHField()

const std::string & dart::utils::MjcfParser::detail::Geom::getHField ( ) const

◆ getInertia()

const Eigen::Matrix3d & dart::utils::MjcfParser::detail::Geom::getInertia ( ) const

◆ getMargine()

double dart::utils::MjcfParser::detail::Geom::getMargine ( ) const

◆ getMass()

double dart::utils::MjcfParser::detail::Geom::getMass ( ) const

◆ getMesh()

const std::string & dart::utils::MjcfParser::detail::Geom::getMesh ( ) const

◆ getName()

const std::string & dart::utils::MjcfParser::detail::Geom::getName ( ) const

◆ getPlaneHalfSize()

Eigen::Vector2d dart::utils::MjcfParser::detail::Geom::getPlaneHalfSize ( ) const

◆ getPriority()

int dart::utils::MjcfParser::detail::Geom::getPriority ( ) const

◆ getRelativeTransform()

const Eigen::Isometry3d & dart::utils::MjcfParser::detail::Geom::getRelativeTransform ( ) const

◆ getRGBA()

const Eigen::Vector4d & dart::utils::MjcfParser::detail::Geom::getRGBA ( ) const

◆ getSize()

const Eigen::Vector3d & dart::utils::MjcfParser::detail::Geom::getSize ( ) const

◆ getSolMix()

double dart::utils::MjcfParser::detail::Geom::getSolMix ( ) const

◆ getSphereRadius()

double dart::utils::MjcfParser::detail::Geom::getSphereRadius ( ) const

◆ getType()

GeomType dart::utils::MjcfParser::detail::Geom::getType ( ) const

◆ getVolume()

double dart::utils::MjcfParser::detail::Geom::getVolume ( ) const

◆ getWorldTransform()

const Eigen::Isometry3d & dart::utils::MjcfParser::detail::Geom::getWorldTransform ( ) const

◆ postprocess()

Errors dart::utils::MjcfParser::detail::Geom::postprocess ( const Body body,
const Compiler compiler 
)
private

Updates attributes and elements that require the compiled parent element.

◆ preprocess()

Errors dart::utils::MjcfParser::detail::Geom::preprocess ( const Compiler compiler)
private

Updates attributes and elements that doesn't require any other elements.

◆ read()

Errors dart::utils::MjcfParser::detail::Geom::read ( tinyxml2::XMLElement *  element,
const Defaults defaults,
const GeomAttributes defaultAttributes 
)
private

◆ setRelativeTransform()

void dart::utils::MjcfParser::detail::Geom::setRelativeTransform ( const Eigen::Isometry3d &  tf)

◆ setWorldTransform()

void dart::utils::MjcfParser::detail::Geom::setWorldTransform ( const Eigen::Isometry3d &  tf)

Friends And Related Function Documentation

◆ Body

friend class Body
friend

◆ Worldbody

friend class Worldbody
friend

Member Data Documentation

◆ mAttributes

GeomAttributes dart::utils::MjcfParser::detail::Geom::mAttributes
private

◆ mConAffinity

int dart::utils::MjcfParser::detail::Geom::mConAffinity {1}
private

◆ mConDim

int dart::utils::MjcfParser::detail::Geom::mConDim {3}
private

◆ mConType

int dart::utils::MjcfParser::detail::Geom::mConType {1}
private

◆ mDensity

double dart::utils::MjcfParser::detail::Geom::mDensity {1000}
private

Material density used to compute the geom mass and inertia.

◆ mFitScale

double dart::utils::MjcfParser::detail::Geom::mFitScale {1}
private

◆ mFriction

Eigen::Vector3d dart::utils::MjcfParser::detail::Geom::mFriction {Eigen::Vector3d(1, 0.005, 0.0001)}
private

◆ mGap

double dart::utils::MjcfParser::detail::Geom::mGap {0}
private

This attribute is used to enable the generation of inactive contacts, i.e.

contacts that are ignored by the constraint solver but are included in mjData.contact for the purpose of custom computations.

◆ mGroup

int dart::utils::MjcfParser::detail::Geom::mGroup {0}
private

◆ mHField

std::string dart::utils::MjcfParser::detail::Geom::mHField
private

◆ mInertia

Eigen::Matrix3d dart::utils::MjcfParser::detail::Geom::mInertia {Eigen::Matrix3d::Identity()}
private

◆ mMargin

double dart::utils::MjcfParser::detail::Geom::mMargin {0}
private

Distance threshold below which contacts are detected and included in the global array mjData.contact.

◆ mMass

double dart::utils::MjcfParser::detail::Geom::mMass
private

◆ mMesh

std::string dart::utils::MjcfParser::detail::Geom::mMesh
private

◆ mName

std::string dart::utils::MjcfParser::detail::Geom::mName {""}
private

Name of the geom.

◆ mPriority

int dart::utils::MjcfParser::detail::Geom::mPriority {0}
private

◆ mRelativeTransform

Eigen::Isometry3d dart::utils::MjcfParser::detail::Geom::mRelativeTransform {Eigen::Isometry3d::Identity()}
private

◆ mRGBA

Eigen::Vector4d dart::utils::MjcfParser::detail::Geom::mRGBA {Eigen::Vector4d(0.5, 0.5, 0.5, 1)}
private

◆ mSize

Eigen::Vector3d dart::utils::MjcfParser::detail::Geom::mSize {Eigen::Vector3d::Zero()}
private

Geom size parameters.

◆ mSolMix

double dart::utils::MjcfParser::detail::Geom::mSolMix {1}
private

Weight used for averaging of contact parameters, and interacts with the priority attribute.

◆ mType

GeomType dart::utils::MjcfParser::detail::Geom::mType {GeomType::SPHERE}
private

Type of geometric shape.

◆ mVolume

double dart::utils::MjcfParser::detail::Geom::mVolume {0}
private

◆ mWorldTransform

Eigen::Isometry3d dart::utils::MjcfParser::detail::Geom::mWorldTransform {Eigen::Isometry3d::Identity()}
private