ViewData#

Fully qualified name: isaacsim::core::experimental::prims::ViewData

class ViewData#

Internal storage for one named view: engine type, device, prim paths, and field buffers.

Owned by the PrimDataReaderImpl and shared by pointer with the concrete view objects. For PhysX views, this also stores the native PhysX tensor API handles so that C++ lambdas can call TensorApi directly without Python involvement.

Public Functions

template<typename T>
inline FieldEntry<T> &getOrCreateField(
const std::string &name,
size_t count,
int device,
)#

Get an existing field or create a new one with the given buffer size.

Template Parameters:

T – Element type (e.g. float, uint8_t).

Parameters:
  • name[in] Field name (e.g., “dof_positions”).

  • count[in] Number of elements in the buffer.

  • device[in] CUDA device ordinal (-1 for CPU, >=0 for GPU).

Returns:

Reference to the (possibly new) field entry.

Public Members

EngineType engine = EngineType::ePhysX#
ViewType type = ViewType::eXform#
int deviceOrdinal = -1#
std::unordered_map<std::string, FieldEntry<float>> fieldsF#
std::unordered_map<std::string, FieldEntry<uint8_t>> fieldsU8#
std::vector<std::string> primPaths#
std::vector<std::string> dofNames#

DOF names for articulation views (in DOF index order).

std::vector<const char*> dofNamePtrs#
omni::physics::tensors::IArticulationView *physxArticulationView = nullptr#

PhysX tensor view handles (null for Newton).

omni::physics::tensors::IRigidBodyView *physxRigidBodyView = nullptr#