Skip to content

novaphy.UsdPrim

Parsed USD prim entry inside a UsdStageData. Each prim stores the text parser's hierarchy fields, the small set of literal attributes it recognizes, and any captured time samples. No OpenUSD schema resolution or composition is performed.

Attributes

Attribute Description
path USD prim path ("/World/robot/base").
name Prim leaf name.
type_name USD prim type ("Xform", "Cube", "Sphere", "Mesh", ...).
parent_path Path of the parent prim. Empty string for </>.
local_transform Transform relative to the parent prim.
mass Literal float physics:mass value, or 0.0 when absent.
density Literal float physics:density value, or 0.0 when absent.
material_binding Quoted path read from a literal rel material:binding line, or empty.
box_half_extents Value of custom float3 novaphy:boxHalfExtents; standard Cube typing alone does not populate it.
sphere_radius Value of custom float novaphy:sphereRadius; standard Sphere typing alone does not populate it.
tracks List of UsdAnimationTrack entries — one per animated attribute.

Example

import novaphy

stage = novaphy.OpenUsdImporter(min_supported_version=1.0).import_file("scene.usda")
for prim in stage.prims:
    if any(prim.box_half_extents):
        print(prim.path, "half-extents", prim.box_half_extents,
              "mass", prim.mass)

Notes

  • Geometry fields are populated only by the NovaPhy custom attributes above, independently of type_name.
  • Animation values are stored in a typed list on each prim (vec3 for translate, vec4 for rotate quaternions); see UsdAnimationTrack.
  • There is no retained underlying USD stage. Use an OpenUSD-based import path when you need references, payloads, variants, schema APIs, binary crates, or arbitrary custom attributes.

See Also