Skip to content

novaphy.SceneBuildMetadata

Aggregate metadata produced alongside a SceneBuildResult. Captures the names, topological order, and DOF layout of every link / joint / shape that the builder emitted, so downstream sensors and exporters can address them by name instead of by raw index.

Attributes

Attribute Description
import_options Echo of the UrdfImportOptions used for the build (URDF path); default-initialized for USD imports.
root_link_name Name of the root link of the imported articulation.
root_body_index Body index of the root link inside the resulting Model.
root_articulation_index Articulation index of the root (matches Model.articulation_* accessors).
link_names List of link names indexed by URDF link index.
joint_names List of joint names indexed by URDF joint index.
topological_link_order Link indices in BFS-from-root topological order — useful for traversals.
articulation_link_names Per-articulation list of link names; outer index is articulation index.
dof_joint_names Per-DOF joint name (length = total nv).
dof_qd_indices Per-DOF index into joint_qd (length = total nv). Lets you map a joint name back to a state slot.
links List of SceneLinkMetadata.
joints List of SceneJointMetadata.
shapes List of SceneShapeMetadata.
filtered_link_pairs Pairs of link names whose shape collisions were filtered out (self-collision filter, parent-child filter, etc.).

Example

import novaphy

result = novaphy.SceneBuilderEngine().build_from_urdf(data)
meta = result.metadata

# Find the joint_qd slot of "elbow"
qd_slot = meta.dof_qd_indices[meta.dof_joint_names.index("elbow")]

# Walk links in topological order
for link_idx in meta.topological_link_order:
    print(meta.link_names[link_idx])

See Also