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