ArticulationMetatype#
Fully qualified name: isaacsim::physics::newton::tensors::ArticulationMetatype
-
class ArticulationMetatype : public IArticulationMetatype#
Articulation topology descriptor for a single articulation in the view.
Constructed once per articulation during BaseArticulationView initialization. Extracts and stores all link/joint/DOF names, types, and hierarchy data from the Newton model at construction time so that subsequent queries are pure lookups with no Python interaction.
Public Functions
- ArticulationMetatype(
- py::object model,
- const std::vector<int> &jointIndices,
- const std::vector<int> &linkIndices,
- const std::vector<std::string> &linkPaths,
- const std::vector<std::string> &jointPaths,
- int firstJointIndex,
Build a metatype from a Newton model and the articulation’s joint/link subsets.
- Parameters:
model – Python handle to the
newton.Modelinstance.jointIndices – Model joint indices belonging to this articulation.
linkIndices – Model body (link) indices belonging to this articulation.
linkPaths – USD prim paths for each link, parallel to
linkIndices.jointPaths – USD prim paths for each joint, parallel to
jointIndices.firstJointIndex – Index of the first (root) joint inside the joint subset, used to decide whether the base is fixed.
-
uint32_t getLinkCount() const override#
Number of links in the articulation (including the root).
-
uint32_t getJointCount() const override#
Number of joints in the articulation (including any root free-joint).
-
uint32_t getDofCount() const override#
Total number of degrees of freedom across all joints.
-
const char *getLinkName(uint32_t linkIdx) const override#
Short name of the link at
linkIdx(final USD prim name).
-
const char *getLinkParentName(uint32_t linkIdx) const override#
Short name of the parent link of
linkIdx; empty for the root.
-
const char *getJointName(uint32_t jointIdx) const override#
Short name of the joint at
jointIdx.
-
const char *getDofName(uint32_t dofIdx) const override#
Short name of the DOF at
dofIdx.
-
int32_t findLinkIndex(const char *linkName) const override#
Look up the link index by short name.
- Returns:
Zero-based index, or
-1if not found.
-
int32_t findLinkParentIndex(const char *linkName) const override#
Look up the index of the parent link of
linkName.- Returns:
Zero-based index, or
-1if the link is not found or has no parent.
-
int32_t findJointIndex(const char *jointName) const override#
Look up the joint index by short name.
- Returns:
Zero-based index, or
-1if not found.
-
int32_t findDofIndex(const char *dofName) const override#
Look up the DOF index by short name.
- Returns:
Zero-based index, or
-1if not found.
-
JointType getJointType(uint32_t jointIdx) const override#
Joint kind at
jointIdx(revolute, prismatic, ball, free, fixed, …).
-
uint32_t getJointDofOffset(uint32_t jointIdx) const override#
Offset of the first DOF of joint
jointIdxwithin the articulation DOF array.
-
uint32_t getJointDofCount(uint32_t jointIdx) const override#
Number of DOFs contributed by joint
jointIdx.
-
DofType getDofType(uint32_t dofIdx) const override#
DOF kind at
dofIdx(translational, rotational, or none).
-
bool getFixedBase() const override#
trueif the root link is attached to the world by a fixed joint.