GpuArticulationView#

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

class GpuArticulationView : public isaacsim::physics::newton::tensors::BaseArticulationView#

GPU articulation view. Implements getters via CUDA gather kernels with D2H staging, and setters via fused CUDA scatter kernels. Supports GC (GPU sim, CPU view tensors) by staging CPU index/source data into pre-allocated device buffers.

Public Functions

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

Constructs a GpuArticulationView.

Parameters:
  • newtonStage[in] Newton stage object backing the view.

  • articulationPaths[in] USD prim paths of the articulations.

  • deviceOrdinal[in] Device ordinal.

~GpuArticulationView() override#
bool getDofPositions(const TensorDesc *dstTensor) const override#

Gets the DOF positions.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofVelocities(const TensorDesc *dstTensor) const override#

Gets the DOF velocities.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the DOF positions.

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 setDofVelocities(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF velocities.

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 getDofLimits(const TensorDesc *dstTensor) const override#

Gets the DOF limits.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofStiffnesses(const TensorDesc *dstTensor) const override#

Gets the DOF stiffnesses.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofDampings(const TensorDesc *dstTensor) const override#

Gets the DOF dampings.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofArmatures(const TensorDesc *dstTensor) const override#

Gets the DOF armatures.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofMaxForces(const TensorDesc *dstTensor) const override#

Gets the DOF maximum forces.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofMaxVelocities(const TensorDesc *dstTensor) const override#

Gets the DOF maximum velocities.

Parameters:

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

Returns:

True on success; false otherwise.

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

Gets the DOF position targets.

Parameters:

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

Returns:

True on success; false otherwise.

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

Gets the DOF velocity targets.

Parameters:

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

Returns:

True on success; false otherwise.

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

Gets the DOF actuation forces.

Parameters:

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

Returns:

True on success; false otherwise.

bool getDofTypes(const TensorDesc *dstTensor) const override#

Gets the DOF types.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the DOF limits.

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 setDofStiffnesses(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF stiffnesses.

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 setDofDampings(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF dampings.

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 setDofMaxForces(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF maximum forces.

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 setDofMaxVelocities(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF maximum velocities.

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 setDofArmatures(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF armatures.

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 setDofActuationForces(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF actuation forces.

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 setDofPositionTargets(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF position targets.

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 setDofVelocityTargets(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the DOF velocity targets.

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 getRootTransforms(const TensorDesc *dstTensor) const override#

Gets the root transforms.

Parameters:

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

Returns:

True on success; false otherwise.

bool getRootVelocities(const TensorDesc *dstTensor) const override#

Gets the root velocities.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the root transforms.

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 setRootVelocities(
const TensorDesc *srcTensor,
const TensorDesc *indexTensor,
) override#

Sets the root velocities.

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 getLinkTransforms(const TensorDesc *dstTensor) const override#

Gets the link transforms.

Parameters:

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

Returns:

True on success; false otherwise.

bool getLinkVelocities(const TensorDesc *dstTensor) const override#

Gets the link velocities.

Parameters:

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

Returns:

True on success; false otherwise.

bool getMasses(const TensorDesc *dstTensor) const override#

Gets the masses.

Parameters:

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

Returns:

True on success; false otherwise.

bool getInvMasses(const TensorDesc *dstTensor) const override#

Gets the inverse masses.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the masses.

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 getCOMs(const TensorDesc *dstTensor) const override#

Gets the COMs.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the COMs.

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 getInertias(const TensorDesc *dstTensor) const override#

Gets the inertias.

Parameters:

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

Returns:

True on success; false otherwise.

bool getInvInertias(const TensorDesc *dstTensor) const override#

Gets the inverse inertias.

Parameters:

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

Returns:

True on success; false otherwise.

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

Sets the inertias.

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 applyForcesAndTorquesAtPosition(
const TensorDesc *srcForceTensor,
const TensorDesc *srcTorqueTensor,
const TensorDesc *srcPositionTensor,
const TensorDesc *indexTensor,
bool isGlobal,
) override#

Applies the forces and torques at position.

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.

  • indexTensor[in] Tensor of view indices 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.

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.

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.

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.

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).