BaseArticulationView#

Fully qualified name: isaacsim::physics::newton::tensors::BaseArticulationView

class BaseArticulationView : public IArticulationView#

Base articulation view implementing IArticulationView for Newton.

Parses the Newton model at construction to build DOF, link, and root index mappings. Caches raw Warp array pointers for joint_q, joint_qd, body_q, body_qd, and property arrays (stiffness, damping, limits, etc.) to avoid repeated Python lookups. Getter/setter methods are pure virtual and implemented by CpuArticulationView and GpuArticulationView.

Subclassed by isaacsim::physics::newton::tensors::CpuArticulationView, isaacsim::physics::newton::tensors::GpuArticulationView

Public Functions

BaseArticulationView(
py::object newtonStage,
const std::vector<pxr::SdfPath> &articulationPaths,
)#

Parses model.joint_q_start, joint_qd_start, joint_type, body_label, and joint_label to build all index mappings and construct per-articulation ArticulationMetatype objects.

~BaseArticulationView() override#
uint32_t getCount() const override#

Returns the number of elements in the view.

Returns:

The requested value.

uint32_t getMaxLinks() const override#

Returns the maximum link count across all articulations in the view.

Returns:

The requested value.

uint32_t getMaxDofs() const override#

Returns the maximum DOF count across all articulations in the view.

Returns:

The requested value.

uint32_t getMaxShapes() const override#

Returns the maximum shape count across all elements in the view.

Returns:

The requested value.

uint32_t getMaxFixedTendons() const override#

Returns the maximum fixed-tendon count across all articulations in the view.

Returns:

The requested value.

uint32_t getMaxSpatialTendons() const override#

Returns the maximum spatial-tendon count across all articulations in the view.

Returns:

The requested value.

bool isHomogeneous() const override#

Returns whether all elements in the view share the same metatype.

Returns:

True on success; false otherwise.

const IArticulationMetatype *getSharedMetatype() const override#

Returns the metatype shared by all elements when the view is homogeneous.

Returns:

Pointer to the requested object, or nullptr if unavailable.

const IArticulationMetatype *getMetatype(
uint32_t artiIdx,
) const override#

Gets the metatype.

Parameters:

artiIdx – [in] Zero-based articulation index within the view.

Returns:

Pointer to the requested object, or nullptr if unavailable.

const char *getUsdPrimPath(uint32_t artiIdx) const override#

Gets the USD prim path.

Parameters:

artiIdx – [in] Zero-based articulation index within the view.

Returns:

Pointer to the requested null-terminated string, or nullptr if unavailable.

const char *getUsdDofPath(
uint32_t artiIdx,
uint32_t dofIdx,
) const override#

Gets the USD DOF path.

Parameters:
  • artiIdx – [in] Zero-based articulation index within the view.

  • dofIdx – [in] Zero-based DOF index within the articulation.

Returns:

Pointer to the requested null-terminated string, or nullptr if unavailable.

const char *getUsdLinkPath(
uint32_t artiIdx,
uint32_t linkIdx,
) const override#

Gets the USD link path.

Parameters:
  • artiIdx – [in] Zero-based articulation index within the view.

  • linkIdx – [in] Zero-based link index within the articulation.

Returns:

Pointer to the requested null-terminated string, or nullptr if unavailable.

bool getLinkAccelerations(const TensorDesc *dstTensor) const override#

Gets the link accelerations.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDofProjectedJointForces(
const TensorDesc *dstTensor,
) const override#

Gets the DOF projected joint forces.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDofMotions(const TensorDesc *dstTensor) const override#

Gets the DOF motions.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDriveTypes(const TensorDesc *dstTensor) const override#

Gets the drive types.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDofDriveModelProperties(
const TensorDesc *dstTensor,
) const override#

Gets the DOF drive model properties.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDofFrictionCoefficients(
const TensorDesc *dstTensor,
) const override#

Gets the DOF friction coefficients.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDofFrictionProperties(
const TensorDesc *dstTensor,
) const override#

Gets the DOF friction properties.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getDisableGravities(const TensorDesc *dstTensor) const override#

Gets the disable gravities.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool setDisableGravities(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the disable gravities.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDisableGravitiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the disable gravities for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool getArticulationMassCenter(
const TensorDesc *dstTensor,
bool localFrame,
) const override#

Gets the articulation mass center.

Parameters:
  • dstTensor – [out] Destination tensor that receives the requested values.

  • localFrame – [in] If true, the result is expressed in the local frame; otherwise in the world frame.

Returns:

True on success; false otherwise.

bool getArticulationCentroidalMomentum(
const TensorDesc *dstTensor,
) const override#

Gets the articulation centroidal momentum.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getJacobianShape(
uint32_t *numRows,
uint32_t *numCols,
) const override#

Computes the row and column counts of the articulation Jacobians.

Parameters:
  • numRows – [out] Receives the number of rows.

  • numCols – [out] Receives the number of columns.

Returns:

True on success; false otherwise.

bool getJacobians(const TensorDesc *dstTensor) const override#

Gets the jacobians.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getGeneralizedMassMatrixShape(
uint32_t *numRows,
uint32_t *numCols,
) const override#

Computes the row and column counts of the generalized mass matrices.

Parameters:
  • numRows – [out] Receives the number of rows.

  • numCols – [out] Receives the number of columns.

Returns:

True on success; false otherwise.

bool getGeneralizedMassMatrices(
const TensorDesc *dstTensor,
) const override#

Gets the generalized mass matrices.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getCoriolisAndCentrifugalCompensationForces(
const TensorDesc *dstTensor,
) const override#

Gets the coriolis and centrifugal compensation forces.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getGravityCompensationForces(
const TensorDesc *dstTensor,
) const override#

Gets the gravity compensation forces.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getLinkIncomingJointForce(
const TensorDesc *dstTensor,
) const override#

Gets the link incoming joint force.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool setDofDriveModelProperties(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF drive model properties.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofFrictionCoefficients(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF friction coefficients.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofFrictionProperties(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF friction properties.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofLimitsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF limits for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofStiffnessesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF stiffnesses for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofDampingsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF dampings for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofMaxForcesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF maximum forces for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofDriveModelPropertiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF drive model properties for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofFrictionCoefficientsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF friction coefficients for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofFrictionPropertiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF friction properties for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofMaxVelocitiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF maximum velocities for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofArmaturesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF armatures for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofPositionsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF positions for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofVelocitiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF velocities for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofActuationForcesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF actuation forces for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofPositionTargetsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF position targets for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setDofVelocityTargetsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the DOF velocity targets for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setMassesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the masses for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setCOMsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the COMs for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setInertiasMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the inertias for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setRootTransformsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the root transforms for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setRootVelocitiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) override#

Sets the root velocities for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool applyForcesAndTorquesAtPositionMasked(
const TensorDesc *srcForceTensor,
const TensorDesc *srcTorqueTensor,
const TensorDesc *srcPositionTensor,
const TensorDesc *maskTensor,
bool isGlobal,
) override#

Applies the forces and torques at position for the elements selected by a boolean mask.

Parameters:
  • srcForceTensor – [in] Source tensor of forces to apply.

  • srcTorqueTensor – [in] Source tensor of torques to apply.

  • srcPositionTensor – [in] Source tensor of positions at which the forces are applied.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

  • isGlobal – [in] If true, the inputs are expressed in the world frame; otherwise in the local frame.

Returns:

True on success; false otherwise.

bool getMaterialProperties(
const TensorDesc *dstTensor,
) const override#

Gets the material properties.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getCompliantMaterialProperties(
const TensorDesc *dstTensor,
const TensorDesc *dstCombineModeTensor,
) const override#

Gets the compliant material properties.

Parameters:
  • dstTensor – [out] Destination tensor that receives the requested values.

  • dstCombineModeTensor – [out] Destination tensor that receives the material combine modes.

Returns:

True on success; false otherwise.

bool getRestOffsets(const TensorDesc *dstTensor) const override#

Gets the rest offsets.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getContactOffsets(const TensorDesc *dstTensor) const override#

Gets the contact offsets.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool setMaterialProperties(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) const override#

Sets the material properties.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setCompliantMaterialProperties(
const TensorDesc *srcTensor,
const TensorDesc *srcCombineTensor,
const TensorDesc *indexTensor,
) const override#

Sets the compliant material properties.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • srcCombineTensor – [in] Source tensor of material combine modes.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setRestOffsets(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) const override#

Sets the rest offsets.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setContactOffsets(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) const override#

Sets the contact offsets.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setMaterialPropertiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) const override#

Sets the material properties for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setCompliantMaterialPropertiesMasked(
const TensorDesc *srcTensor,
const TensorDesc *srcCombineTensor,
const TensorDesc *maskTensor,
) const override#

Sets the compliant material properties for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • srcCombineTensor – [in] Source tensor of material combine modes.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setRestOffsetsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) const override#

Sets the rest offsets for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setContactOffsetsMasked(
const TensorDesc *srcTensor,
const TensorDesc *maskTensor,
) const override#

Sets the contact offsets for the elements selected by a boolean mask.

Parameters:
  • srcTensor – [in] Source tensor providing the values to write.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool getFixedTendonStiffnesses(
const TensorDesc *dstTensor,
) const override#

Gets the fixed tendon stiffnesses.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getFixedTendonDampings(
const TensorDesc *dstTensor,
) const override#

Gets the fixed tendon dampings.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getFixedTendonLimitStiffnesses(
const TensorDesc *dstTensor,
) const override#

Gets the fixed tendon limit stiffnesses.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getFixedTendonLimits(const TensorDesc *dstTensor) const override#

Gets the fixed tendon limits.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getFixedTendonfixedSpringRestLengths(
const TensorDesc *dstTensor,
) const override#

Gets the fixed tendonfixed spring rest lengths.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getFixedTendonOffsets(
const TensorDesc *dstTensor,
) const override#

Gets the fixed tendon offsets.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getSpatialTendonStiffnesses(
const TensorDesc *dstTensor,
) const override#

Gets the spatial tendon stiffnesses.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getSpatialTendonDampings(
const TensorDesc *dstTensor,
) const override#

Gets the spatial tendon dampings.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getSpatialTendonLimitStiffnesses(
const TensorDesc *dstTensor,
) const override#

Gets the spatial tendon limit stiffnesses.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool getSpatialTendonOffsets(
const TensorDesc *dstTensor,
) const override#

Gets the spatial tendon offsets.

Parameters:

dstTensor – [out] Destination tensor that receives the requested values.

Returns:

True on success; false otherwise.

bool setFixedTendonProperties(
const TensorDesc *stiffnesses,
const TensorDesc *dampings,
const TensorDesc *limitStiffnesses,
const TensorDesc *limits,
const TensorDesc *restLengths,
const TensorDesc *offsets,
const TensorDesc *indexTensor,
) const override#

Sets the fixed tendon properties.

Parameters:
  • stiffnesses – [in] Tensor of tendon stiffness values.

  • dampings – [in] Tensor of tendon damping values.

  • limitStiffnesses – [in] Tensor of tendon limit stiffness values.

  • limits – [in] Tensor of tendon limit values.

  • restLengths – [in] Tensor of tendon rest-length values.

  • offsets – [in] Tensor of tendon offset values.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setSpatialTendonProperties(
const TensorDesc *stiffnesses,
const TensorDesc *dampings,
const TensorDesc *limitStiffnesses,
const TensorDesc *offsets,
const TensorDesc *indexTensor,
) const override#

Sets the spatial tendon properties.

Parameters:
  • stiffnesses – [in] Tensor of tendon stiffness values.

  • dampings – [in] Tensor of tendon damping values.

  • limitStiffnesses – [in] Tensor of tendon limit stiffness values.

  • offsets – [in] Tensor of tendon offset values.

  • indexTensor – [in] Tensor of view indices selecting which elements to write.

Returns:

True on success; false otherwise.

bool setFixedTendonPropertiesMasked(
const TensorDesc *stiffnesses,
const TensorDesc *dampings,
const TensorDesc *limitStiffnesses,
const TensorDesc *limits,
const TensorDesc *restLengths,
const TensorDesc *offsets,
const TensorDesc *maskTensor,
) const override#

Sets the fixed tendon properties for the elements selected by a boolean mask.

Parameters:
  • stiffnesses – [in] Tensor of tendon stiffness values.

  • dampings – [in] Tensor of tendon damping values.

  • limitStiffnesses – [in] Tensor of tendon limit stiffness values.

  • limits – [in] Tensor of tendon limit values.

  • restLengths – [in] Tensor of tendon rest-length values.

  • offsets – [in] Tensor of tendon offset values.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool setSpatialTendonPropertiesMasked(
const TensorDesc *stiffnesses,
const TensorDesc *dampings,
const TensorDesc *limitStiffnesses,
const TensorDesc *offsets,
const TensorDesc *maskTensor,
) const override#

Sets the spatial tendon properties for the elements selected by a boolean mask.

Parameters:
  • stiffnesses – [in] Tensor of tendon stiffness values.

  • dampings – [in] Tensor of tendon damping values.

  • limitStiffnesses – [in] Tensor of tendon limit stiffness values.

  • offsets – [in] Tensor of tendon offset values.

  • maskTensor – [in] Boolean mask tensor selecting which elements to write.

Returns:

True on success; false otherwise.

bool check() const override#

Checks whether the view and its backing data are still valid.

Returns:

True on success; false otherwise.

void release() override#

Releases the view and frees its associated resources.

Protected Functions

void _notifyJointDofPropertiesChanged()#

Notifies the Newton model that joint DOF properties have been modified externally.

void _syncCtrlDirectActuatorGains()#

Syncs CTRL_DIRECT actuator gains from the cached stiffness/damping arrays.

void _syncCtrlDirectPositionTargets()#

Syncs CTRL_DIRECT position targets from the cached target array.

void _evalForwardKinematics()#

Runs Newton forward kinematics to propagate joint_q changes to body_q.

void _evalInverseKinematics()#

Runs Newton inverse kinematics to propagate body_q/body_qd changes back to joint_q/joint_qd.

void _updateInverseMasses()#

Recomputes inverse mass array from the forward mass array.

void _updateInverseInertias()#

Recomputes inverse inertia array from the forward inertia array.

inline const std::vector<uint32_t> &_resolveIndices(
const TensorDesc *indexTensor,
) const#

Resolves an index tensor to a list of articulation indices, writing into the pre-allocated m_scratchViewIndices member to avoid per-call allocation.

inline isaacsim::physics::newton::tensors::GpuIndexGuard _resolveGpuIndices(
const TensorDesc *indexTensor,
int *devScratch = nullptr,
) const#

Resolves the GPU indices.

Parameters:
  • indexTensor – [in] Tensor of view indices selecting which elements to write.

  • devScratch – [in] Optional device scratch buffer; allocated internally when null.

Returns:

The requested value.

void _buildDofScatterMappings(
const std::vector<uint32_t> &artiIndices,
const std::vector<int> &dofIndices,
std::vector<int> &srcOffsets,
std::vector<int> &dstIndices,
) const#

Builds the DOF scatter mappings.

Parameters:
  • artiIndices – [in] Articulation indices selected by the operation.

  • dofIndices – [in] DOF indices selected by the operation.

  • srcOffsets – [out] Receives the source offset for each scattered element.

  • dstIndices – [out] Receives the destination index for each scattered element.

void _buildLinkScatterMappings(
const std::vector<uint32_t> &artiIndices,
int elemSize,
std::vector<int> &srcOffsets,
std::vector<int> &dstIndices,
) const#

Builds the link scatter mappings.

Parameters:
  • artiIndices – [in] Articulation indices selected by the operation.

  • elemSize – [in] Number of floats per element.

  • srcOffsets – [out] Receives the source offset for each scattered element.

  • dstIndices – [out] Receives the destination index for each scattered element.

void _buildRootScatterMappings(
const std::vector<uint32_t> &artiIndices,
int elemSize,
std::vector<int> &srcOffsets,
std::vector<int> &dstIndices,
) const#

Builds the root scatter mappings.

Parameters:
  • artiIndices – [in] Articulation indices selected by the operation.

  • elemSize – [in] Number of floats per element.

  • srcOffsets – [out] Receives the source offset for each scattered element.

  • dstIndices – [out] Receives the destination index for each scattered element.

void _cacheWarpPointers()#

Extracts and caches raw float*/int* pointers from all relevant Warp arrays in the Newton model and state. Called lazily before the first getter/setter access.

Protected Attributes

py::object m_newtonStage#

Newton stage object backing the view.

py::object m_model#

Newton model object backing the view.

uint32_t m_count#

Number of articulations in the view.

uint32_t m_maxLinks#

Maximum link count across all articulations.

uint32_t m_maxDofs#

Maximum DOF count across all articulations.

uint32_t m_maxShapes#

Maximum shape count across all elements in the view.

std::vector<int> m_articulationIndices#

Root body index for each articulation.

py::object m_articulationIndicesWarp#

warp version of m_articulationIndices

std::vector<int> m_dofPosIndices#

[count * maxDofs] → model.joint_q index, -1 = padding.

std::vector<int> m_dofVelIndices#

[count * maxDofs] → model.joint_qd index, -1 = padding.

std::vector<int> m_dofAxisIndices#

[count * maxDofs] → model.joint_axis index, -1 = padding.

std::vector<int> m_rootBodyIndices#

[count] → model body index for each root body.

std::vector<int> m_rootJointIndices#

[count] → model joint index for each root joint.

std::vector<int> m_rootJointQStartIndices#

[count] → joint_q_start offset for root joint.

std::vector<int> m_fixedRootJointMapping#

[count] → rootJointIdx for fixed roots, -1 for free.

std::vector<std::vector<int>> m_linkIndicesPerArticulation#

Model body indices for each link, grouped per articulation.

std::vector<int> m_linkFlatIndices#

[count * maxLinks] → model body index, -1 = padding.

std::vector<std::string> m_articulationPrimPaths#

USD prim path of each articulation.

std::vector<std::vector<std::string>> m_articulationPaths#

USD prim paths associated with each articulation.

py::object m_articulationMask#

warp array that is used to mask only the selected articulations for newton computation

std::vector<ArticulationMetatype*> m_metatypes#

Per-element articulation metatype objects owned by the view.

std::vector<uint8_t> m_hostDofTypes#

Host-side cache of the DOF type for each DOF.

std::vector<int> m_rootJointTypes#

[count] → joint type for root joint of each articulation.

std::vector<float> m_cachedComOrientation#

[count * maxLinks * 4] cached COM quaternion (xyzw), write-through from setCOMs.

std::vector<std::vector<std::string>> m_dofPaths#

[count][maxDofs] → USD prim path for each DOF.

mutable std::vector<uint32_t> m_scratchViewIndices#

Scratch buffer reused to resolve view indices without per-call allocation.

bool m_cacheValid = false#

True after _cacheWarpPointers() succeeds.

int m_modelDeviceOrdinal = -1#

Device of the Newton model’s Warp arrays.

std::string m_modelDeviceString#
size_t m_totalBodyCount = 0#

Total body count in the Newton model.

mutable float *m_cachedJointQ = nullptr#

Cached pointer to the joint q data.

mutable float *m_cachedJointQd = nullptr#

Cached pointer to the joint qd data.

mutable float *m_cachedBodyQ = nullptr#

Cached pointer to the body q data.

mutable float *m_cachedBodyQd = nullptr#

Cached pointer to the body qd data.

mutable float *m_cachedBodyF = nullptr#

Cached pointer to the body f data.

float *m_cachedJointTargetKe = nullptr#

Cached pointer to the joint target ke data.

float *m_cachedJointTargetKd = nullptr#

Cached pointer to the joint target kd data.

float *m_cachedJointEffortLimit = nullptr#

Cached pointer to the joint effort limit data.

float *m_cachedJointVelocityLimit = nullptr#

Cached pointer to the joint velocity limit data.

float *m_cachedJointArmature = nullptr#

Cached pointer to the joint armature data.

float *m_cachedJointLimitLower = nullptr#

Cached pointer to the joint limit lower data.

float *m_cachedJointLimitUpper = nullptr#

Cached pointer to the joint limit upper data.

mutable float *m_cachedCtrlTargetPos = nullptr#

Cached pointer to the ctrl target pos data.

mutable float *m_cachedCtrlTargetVel = nullptr#

Cached pointer to the ctrl target vel data.

mutable float *m_cachedJointTorques = nullptr#

Cached pointer to the joint torques data.

float *m_cachedBodyMass = nullptr#

Cached pointer to the body mass data.

float *m_cachedBodyInverseMass = nullptr#

Cached pointer to the body inverse mass data.

float *m_cachedBodyInertia = nullptr#

Cached pointer to the body inertia data.

float *m_cachedBodyInverseInertia = nullptr#

Cached pointer to the body inverse inertia data.

float *m_cachedBodyCenterOfMass = nullptr#

Cached pointer to the body center of mass data.

float *m_cachedJointXp = nullptr#

model.joint_X_p — parent transform per joint (7 floats each).

mutable py::object m_jacobianBuffer = py::none()#

python buffers, cached for performance

mutable py::object m_jacobianWarp = py::none()#
mutable py::object m_jacobianTensor = py::none()#
mutable py::object m_massMatricesBuffer = py::none()#
mutable py::object m_massMatricesWarp = py::none()#
mutable py::object m_massMatricesTensor = py::none()#