class
ManagedArticulatedObjectClass describing wrapper for ArticulatedObject constructions. Provides bindings for all ArticulatedObject-specific functionality.
Base classes
-
template<class T>class AbstractManagedPhysicsObject<esp::physics::ArticulatedObject>
- Base class template for wrapper for physics objects of all kinds to enable Managed Container access.
Derived classes
- class ManagedBulletArticulatedObject
- Class describing wrapper for dynamic ArticulatedObject constructions using the Bullet library. Provides bindings for all ArticulatedObject-specific functionality.
Constructors, destructors, conversion operators
-
ManagedArticulatedObject(const std::
string& classKey = "ManagedArticulatedObject") explicit
Public functions
-
auto getInitializationAttributes() const -> std::
shared_ptr<metadata:: attributes:: ArticulatedObjectAttributes> - Get a copy of the template attributes describing the initial state of this articulated object. These attributes have the combination of date from the original articulated object attributes and specific instance attributes used to create this articulated object. Note : values will reflect both sources, and should not be saved to disk as articulated object attributes, since instance attribute modifications will still occur on subsequent loads.
- auto getGlobalScale() const -> float
-
auto getLinkSceneNode(int linkId = BASELINK_
ID) const -> scene:: SceneNode* -
auto getLinkVisualSceneNodes(int linkId = BASELINK_
ID) const -> std:: vector<scene:: SceneNode*> - auto getLink(int linkId) const -> ArticulatedLink*
- auto getNumLinks() const -> int
-
auto getLinkIds() const -> std::
vector<int> -
auto getLinkIdsWithBase() const -> std::
vector<int> -
auto getLinkIdFromName(const std::
string& _name) const -> int -
auto getLinkObjectIds() const -> std::
unordered_map<int, int> -
auto getLinkIdsToObjectIds() const -> std::
unordered_map<int, int> -
void setRootLinearVelocity(const Mn::
Vector3& linVel) -
auto getRootLinearVelocity() const -> Mn::
Vector3 -
void setRootAngularVelocity(const Mn::
Vector3& angVel) -
auto getRootAngularVelocity() const -> Mn::
Vector3 -
void setJointForces(const std::
vector<float>& forces) -
void addJointForces(const std::
vector<float>& forces) -
auto getJointForces() -> std::
vector<float> -
void setJointVelocities(const std::
vector<float>& vels) -
auto getJointVelocities() -> std::
vector<float> -
void setJointPositions(const std::
vector<float>& positions) -
auto getJointPositions() -> std::
vector<float> -
auto getJointMotorTorques(double fixedTimeStep) -> std::
vector<float> -
auto getJointPositionLimits() -> std::
pair<std:: vector<float>, std:: vector<float>> -
void addArticulatedLinkForce(int linkId,
Magnum::
Vector3 force) - auto getArticulatedLinkFriction(int linkId) const -> float
- void setArticulatedLinkFriction(int linkId, float friction)
- auto getLinkJointType(int linkId) const -> JointType
-
auto getLinkJointName(int linkId) const -> std::
string -
auto getLinkName(int linkId) const -> std::
string - auto getLinkDoFOffset(int linkId) const -> int
- auto getLinkNumDoFs(int linkId) const -> int
- auto getLinkJointPosOffset(int linkId) const -> int
- auto getLinkNumJointPos(int linkId) const -> int
- void reset()
- auto getCanSleep() const -> bool
- void setAutoClampJointLimits(bool autoClamp)
- auto getAutoClampJointLimits() const -> bool
- void clampJointLimits()
- auto createJointMotor(const int dof, const JointMotorSettings& settings) const -> int
- void removeJointMotor(const int motorId)
- auto getJointMotorSettings(const int motorId) const -> JointMotorSettings
- void updateJointMotor(const int motorId, const JointMotorSettings& settings)
-
auto getExistingJointMotors() const -> std::
unordered_map<int, int> -
auto createMotorsForAllDofs(const JointMotorSettings& settings) -> std::
unordered_map<int, int> -
void updateAllMotorTargets(const std::
vector<float>& stateTargets, bool velocities)
Protected functions
-
auto getPhyObjInfoHeaderInternal() const -> std::
string override - Retrieve a comma-separated string holding the header values for the info returned for this managed object, type-specific. TODO : once Magnum supports retrieving key-values of configurations, use that to build this data.
-
auto getPhysObjInfoInternal(std::
shared_ptr<esp:: physics:: ArticulatedObject>& sp) const -> std:: string override - Specialization-specific extension of getObjectInfo, comma separated info ideal for saving to csv.