class
#include <esp/physics/ArticulatedLink.h>
ArticulatedLink A single rigid link in a kinematic chain. Abstract class. Feature attaches to a SceneNode.
Base classes
- class RigidBase
- This class specifies the functionality expected of rigid objects and stages, particularly with regard to dynamic simulation, if such a library, such as bullet, is available.
Derived classes
- class BulletArticulatedLink
Constructors, destructors, conversion operators
-
ArticulatedLink(scene::
SceneNode* bodyNode, int index, const assets:: ResourceManager& resMgr) - ~ArticulatedLink() defaulted override
Public functions
- auto getIndex() const -> int
- Get the link's index within its multibody.
- auto initialize(metadata::attributes::AbstractObjectAttributes::ptr initAttributes) -> bool override
- Initializes the link.
-
void initializeArticulatedLink(const std::
string& _linkName, const Mn:: Vector3& _scale) - auto finalizeObject() -> bool override
- Finalize the creation of the link.
-
void setTransformation(const Magnum::
Matrix4& transformation) override -
void setTranslation(const Magnum::
Vector3& vector) override -
void setRotation(const Magnum::
Quaternion& quaternion) override -
void setRigidState(const core::
RigidState& rigidState) override - void resetTransformation() override
-
void translate(const Magnum::
Vector3& vector) override -
void translateLocal(const Magnum::
Vector3& vector) override -
void rotate(const Magnum::
Rad angleInRad, const Magnum:: Vector3& normalizedAxis) override -
void rotateLocal(const Magnum::
Rad angleInRad, const Magnum:: Vector3& normalizedAxis) override -
void rotateX(const Magnum::
Rad angleInRad) override -
void rotateY(const Magnum::
Rad angleInRad) override -
void rotateZ(const Magnum::
Rad angleInRad) override -
void rotateXLocal(const Magnum::
Rad angleInRad) override -
void rotateYLocal(const Magnum::
Rad angleInRad) override -
void rotateZLocal(const Magnum::
Rad angleInRad) override - void resetStateFromSceneInstanceAttr() override
- Not used for articulated links. Set or reset the object's state using the object's specified
sceneInstanceAttributes_
. -
template<class T>void setOwningManagedAO(const std::
shared_ptr<T>& owningManagedAO) - Set the ManagedArticulatedObject encapsulating this link's owning Articulated Object.
Public variables
Protected functions
-
template<class T>auto getOwningManagedAOInternal() const -> std::
shared_ptr<T> - Get the ManagedArticulatedObject encapsulating this link's owning Articulated Object.
Protected variables
- int mbIndex_
Private functions
- auto initialization_LibSpecific() -> bool override
- Finalize the initialization of this link.
- auto finalizeObject_LibSpecific() -> bool override
- any physics-lib-specific finalization code that needs to be run after creation.
Function documentation
bool esp:: physics:: ArticulatedLink:: initialize(metadata::attributes::AbstractObjectAttributes::ptr initAttributes) override
Initializes the link.
Returns | true if initialized successfully, false otherwise. |
---|
bool esp:: physics:: ArticulatedLink:: finalizeObject() override
Finalize the creation of the link.
Returns | whether successful finalization. |
---|
bool esp:: physics:: ArticulatedLink:: initialization_LibSpecific() override private
Finalize the initialization of this link.
Returns | true if initialized successfully, false otherwise. |
---|
bool esp:: physics:: ArticulatedLink:: finalizeObject_LibSpecific() override private
any physics-lib-specific finalization code that needs to be run after creation.
Returns | whether successful finalization. |
---|
Variable documentation
std:: vector<std:: pair<esp:: scene:: SceneNode*, std:: string>> esp:: physics:: ArticulatedLink:: visualAttachments_
List of visual components attached to this link. Used for NavMesh recomputation. Each entry is a child node of this link's node and a string key to reference the asset in ResourceManager.