newton.usd.get_deformable_bind_pose#

newton.usd.get_deformable_bind_pose(prim)[source]#

Read a deformable geometry’s bind-pose points in authored local units.

Experimental

This function follows the AOUSD deformable proposal and may change.

Read the multiple-apply PhysicsDeformablePoseAPI:<instance> whose physics:deformablePose:<instance>:purposes contains bindPose and return its physics:deformablePose:<instance>:points, as the proposal’s examples author them. If no such instance exists, use the geometry’s default-time points. Do not substitute a rest shape or an animated sample for that fallback. An explicit bind pose is also accepted when the geometry’s points exist only as time samples; get_mesh() cannot load such a mesh. Newton rejects multiple bind poses rather than choosing one by schema order.

Points remain in USD vertex order and the prim’s local coordinates. Transforms and stage-unit conversion are left to the caller. The result owns its storage; changing it does not edit the stage. These are authored points, not render vertices split at UV or normal seams.

Parameters:

prim (pxr.Usd.Prim) – A UsdGeom.PointBased prim, such as a Mesh, BasisCurves, or TetMesh.

Returns:

Float64 array of shape (point_count, 3) in stage length units (meters when metersPerUnit is 1).

Raises:

ValueError – If the prim is not PointBased, the required points are missing, multiple poses have bindPose purpose, or the selected pose has an invalid shape, point count, or non-finite coordinates.

Return type:

ndarray