esp::metadata::attributes::SceneAOInstanceAttributes class

This class describes an instance of an articulated object in a scene.

  • along with its template name, translation from the origin, rotation, motiontype, and other values inherited from SceneObjectInstanceAttributes, it also holds initial joint pose and joint velocities.

Base classes

class SceneObjectInstanceAttributes
This class describes an instance of a stage, object or articulated object in a scene - its template name, translation from the origin, rotation, motiontype, and other values required to instantiate the construct described.

Constructors, destructors, conversion operators

SceneAOInstanceAttributes(const std::string& handle) explicit
SceneAOInstanceAttributes handle is also the handle of the underlying ArticulatedObjectAttributes for the object being instanced.
SceneAOInstanceAttributes(const std::string& handle, const std::shared_ptr<ArticulatedObjectAttributes>& aObjAttribs) protected
Called only from SceneInstanceAttributesManager, to create and initialize an instance attributes from an existing object attributes.

Public functions

void setBaseType(const std::string& baseType)
Set the type of base/root joint to use to add this Articulated Object to the world.
auto getBaseType() const -> ArticulatedObjectBaseType
Get the type of base/root joint to use to add this Articulated Object to the world.
void setInertiaSource(const std::string& inertiaSrc)
Set the source of the inertia tensors to use for this Articulated Object.
auto getInertiaSource() const -> ArticulatedObjectInertiaSource
Get the source of the inertia tensors to use for this Articulated Object.
void setLinkOrder(const std::string& linkOrder)
Set the link order to use for the linkages of this Articulated Object.
auto getLinkOrder() const -> ArticulatedObjectLinkOrder
Get the link order to use for the linkages of this Articulated Object.
void setRenderMode(const std::string& renderMode)
Set the render mode to use to render this Articulated Object.
auto getRenderMode() const -> ArticulatedObjectRenderMode
Get the render mode to use to render this Articulated Object.
auto getAutoClampJointLimits() const -> bool
Articulated Object Instance only. Get or set whether or not dofs should be automatically clamped to specified joint limits before physics simulation step.
void setAutoClampJointLimits(bool auto_clamp_joint_limits)
auto getInitJointPose() const -> const std::map<std::string, float>&
retrieve a mutable reference to this scene attributes joint initial pose map
auto copyIntoInitJointPose() -> std::map<std::string, float>&
void addInitJointPoseVal(const std::string& key, float val)
Add a value to this scene attributes joint initial pose map.
auto getInitJointVelocities() const -> const std::map<std::string, float>&
retrieve a mutable reference to this scene attributes joint initial velocity map
auto copyIntoInitJointVelocities() -> std::map<std::string, float>&
void addInitJointVelocityVal(const std::string& key, float val)
Add a value to this scene attributes joint initial velocity map.

Protected functions

auto getSceneObjInstanceInfoInternal() const -> std::string override
Retrieve a comma-separated informational string about the contents of this SceneAOInstanceAttributes object.
auto getSceneObjInstanceInfoHeaderInternal() const -> std::string override
Retrieve a comma-separated informational string about the contents of this managed object.
void writeValuesToJsonInternal(io::JsonGenericValue& jsonObj, io::JsonAllocator& allocator) const override
Populate the passed JSON object with all the first-level values specific to this SceneObjectInstanceAttributes. This is to facilitate SceneAOInstanceAttributes-specific values to be written.

Protected variables

std::map<std::string, float> initJointPose_
Map of joint names/idxs to values for initial pose.
std::map<std::string, float> initJointVelocities_
Map of joint names/idxs to values for initial velocities.

Function documentation

esp::metadata::attributes::SceneAOInstanceAttributes::SceneAOInstanceAttributes(const std::string& handle, const std::shared_ptr<ArticulatedObjectAttributes>& aObjAttribs) protected

Called only from SceneInstanceAttributesManager, to create and initialize an instance attributes from an existing object attributes.

SceneAOInstanceAttributes handle is also the handle of the underlying ArticulatedObjectAttributes for the object being instanced. This initializes the instance attributes with the values from the passed object attributes.

void esp::metadata::attributes::SceneAOInstanceAttributes::addInitJointPoseVal(const std::string& key, float val)

Add a value to this scene attributes joint initial pose map.

Parameters
key the location/joint name to place the value
val the joint value to set

void esp::metadata::attributes::SceneAOInstanceAttributes::addInitJointVelocityVal(const std::string& key, float val)

Add a value to this scene attributes joint initial velocity map.

Parameters
key the location/joint name to place the value
val the joint angular velocity value to set