IArticulationDataView#
Fully qualified name: isaacsim::core::experimental::prims::IArticulationDataView
-
struct IArticulationDataView : public isaacsim::core::experimental::prims::IXformDataView#
Read-only view for Articulation data.
Extends IXformDataView with DOF/link/dynamics.
Transform getters (native device pointers)
-
virtual const float *getWorldPositions(int *outCount) = 0#
Get world positions (float[3] per prim, device memory).
-
virtual const float *getWorldOrientations(int *outCount) = 0#
Get world orientations (quaternion float[4] per prim, device memory).
-
virtual const float *getLocalTranslations(int *outCount) = 0#
Get local translations (float[3] per prim, device memory).
-
virtual const float *getLocalOrientations(int *outCount) = 0#
Get local orientations (quaternion float[4] per prim, device memory).
-
virtual const float *getLocalScales(int *outCount) = 0#
Get local scales (float[3] per prim, device memory).
Host-memory transform getters (always CPU pointers, copied from GPU if needed)
-
virtual const float *getWorldPositionsHost(int *outCount) = 0#
Get world positions (float[3] per prim, host memory).
-
virtual const float *getWorldOrientationsHost(int *outCount) = 0#
Get world orientations (quaternion float[4] per prim, host memory).
-
virtual const float *getLocalTranslationsHost(int *outCount) = 0#
Get local translations (float[3] per prim, host memory).
-
virtual const float *getLocalOrientationsHost(int *outCount) = 0#
Get local orientations (quaternion float[4] per prim, host memory).
-
virtual const float *getLocalScalesHost(int *outCount) = 0#
Get local scales (float[3] per prim, host memory).
Combined pose getters
Buffer and callback management (used by Python during setup)
- virtual bool allocateBufferFloat(
- const char *fieldName,
- size_t count,
Allocate a named float buffer of the given element count.
- virtual bool allocateBufferUint8(
- const char *fieldName,
- size_t count,
Allocate a named uint8 buffer of the given element count.
-
virtual uintptr_t getBufferPtr(const char *fieldName) = 0#
Get the raw pointer to a named buffer.
-
virtual size_t getBufferSize(const char *fieldName) = 0#
Get the byte size of a named buffer.
-
virtual int getBufferDevice() = 0#
Get the CUDA device ordinal of the data buffers (-1 for CPU).
- virtual void registerFieldCallback(
- const char *fieldName,
- std::function<void()> callback,
Register a callback invoked when the named field is updated.
Public Functions
-
virtual const float *getDofPositions(int *outCount) = 0#
Get DOF positions (device memory).
-
virtual const float *getDofVelocities(int *outCount) = 0#
Get DOF velocities (device memory).
-
virtual const float *getDofEfforts(int *outCount) = 0#
Get DOF efforts / forces (device memory).
-
virtual const float *getRootTransforms(int *outCount) = 0#
Get root link transforms (float[7] per articulation, device memory).
-
virtual const float *getRootVelocities(int *outCount) = 0#
Get root link velocities (float[6] per articulation, device memory).
-
virtual const uint8_t *getDofTypes(int *outCount) = 0#
Get DOF types (0 = rotation, 1 = translation, device memory).
-
virtual const float *getDofPositionsHost(int *outCount) = 0#
Get DOF positions (host memory).
-
virtual const float *getDofVelocitiesHost(int *outCount) = 0#
Get DOF velocities (host memory).
-
virtual const float *getDofEffortsHost(int *outCount) = 0#
Get DOF efforts / forces (host memory).
-
virtual const float *getRootTransformsHost(int *outCount) = 0#
Get root link transforms (float[7] per articulation, host memory).
-
virtual const float *getRootVelocitiesHost(int *outCount) = 0#
Get root link velocities (float[6] per articulation, host memory).
-
virtual const uint8_t *getDofTypesHost(int *outCount) = 0#
Get DOF types (0 = rotation, 1 = translation, host memory).
-
virtual int getDofIndex(const char *dofPrimPath) = 0#
Resolve the DOF index for a joint given its USD prim path.
- Parameters:
dofPrimPath – USD path to the joint prim.
- Returns:
DOF index (>= 0), or -1 if the joint is not found in this view.
-
virtual const char *const *getDofNames(int *outCount) = 0#
Get DOF names in articulation order (index 0 .
. N-1).
- Parameters:
outCount – Receives the number of DOFs.
- Returns:
Pointer to array of C-strings, or nullptr if none. Valid until view is removed or reader re-initialized.
- virtual bool getArticulationLinks(
- const char *rootPath,
- const LinkInfo **outLinks,
- size_t *outCount,
Enumerate UsdPhysicsRigidBodyAPI descendants of rootPath (must have ArticulationRootAPI). outLinks owned by the view; valid until next call or view removal. Returns false if rootPath is not an articulation or stage unavailable.
-
virtual bool update() = 0#
Batch pre-fetch all fields for this view.
- virtual bool getPrimFrameName(
- const char *primPath,
- char *outName,
- size_t maxLen,
Resolve frame name for any prim in the stage: checks isaac:nameOverride, falls back to prim name. outName: caller buffer of maxLen bytes. Returns false if prim not found or stage unavailable.
- virtual bool getPrimWorldTransform(
- const char *primPath,
- float *outPos3,
- float *outOri4,
World transform of any prim in the stage via Fabric (no physics required). outPos3: float[3] (x,y,z). outOri4: float[4] (qw,qx,qy,qz). Returns false if prim not found or stage unavailable.
-
virtual const float *getWorldPositions(int *outCount) = 0#