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])