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 (
vec3for translate,vec4for 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.