Spaces:
Running
Running
| import type IUrdfBox from "./IUrdfBox"; | |
| import type IUrdfCylinder from "./IUrdfCylinder"; | |
| import type IUrdfMesh from "./IUrdfMesh"; | |
| // 1) Box‐type visual | |
| interface IUrdfVisualBox { | |
| name: string; | |
| origin_xyz: [x: number, y: number, z: number]; | |
| origin_rpy: [roll: number, pitch: number, yaw: number]; | |
| geometry: IUrdfBox; | |
| material?: { | |
| name: string; | |
| color?: string; | |
| texture?: string; | |
| }; | |
| type: "box"; | |
| // optional RGBA color override | |
| color_rgba?: [r: number, g: number, b: number, a: number]; | |
| // XML Element reference | |
| elem: Element; | |
| } | |
| // 2) Cylinder‐type visual | |
| interface IUrdfVisualCylinder { | |
| name: string; | |
| origin_xyz: [x: number, y: number, z: number]; | |
| origin_rpy: [roll: number, pitch: number, yaw: number]; | |
| geometry: IUrdfCylinder; | |
| material?: { | |
| name: string; | |
| color?: string; | |
| texture?: string; | |
| }; | |
| type: "cylinder"; | |
| color_rgba?: [r: number, g: number, b: number, a: number]; | |
| elem: Element; | |
| } | |
| // 3) Mesh‐type visual | |
| interface IUrdfVisualMesh { | |
| name: string; | |
| origin_xyz: [x: number, y: number, z: number]; | |
| origin_rpy: [roll: number, pitch: number, yaw: number]; | |
| geometry: IUrdfMesh; | |
| material?: { | |
| name: string; | |
| color?: string; | |
| texture?: string; | |
| }; | |
| type: "mesh"; | |
| color_rgba?: [r: number, g: number, b: number, a: number]; | |
| elem: Element; | |
| } | |
| // Now make a union of the three: | |
| export type IUrdfVisual = IUrdfVisualBox | IUrdfVisualCylinder | IUrdfVisualMesh; | |