SceneEntity
A visual element in a 3D scene. An entity can be composed of multiple primitives that share the same reference frame.
Parent Data Structure
SceneEntity appears in the SceneUpdate message data structure.
Data Structure
| Field | Type | Description |
|---|---|---|
| timestamp | time | Entity timestamp |
| frame_id | string | Reference frame |
| id | string | Entity identifier. An entity will replace any previous entity with the same id on the same topic. |
| lifetime | duration | The length of time the entity should be automatically removed (relative to the timestamp). Zero value means the entity should remain visible until it is replaced or deleted. |
| frame_locked | boolean | Whether the entity should remain in a fixed frame (false) or follow the frame specified in frame_id (true) relative to a fixed frame. |
| metadata | KeyValuePair[] | Additional user-provided metadata associated with the entity. Keys must be unique. |
| arrows | ArrowPrimitive[] | Arrow primitives |
| cubes | CubePrimitive[] | Cube primitives |
| spheres | SpherePrimitive[] | Sphere primitives |
| cylinders | CylinderPrimitive[] | Cylinder primitives |
| lines | LinePrimitive[] | Line primitives |
| triangles | TriangleListPrimitive[] | Triangle list primitives |
| texts | TextPrimitive[] | Text primitives |
| models | ModelPrimitive[] | Model primitives |
Reference Implementation
Visualization data structures are framework-agnostic and can be implemented using any supported message encoding:
| Encoding | Data Structure |
|---|---|
| ROS 1 | foxglove_msgs/SceneEntity |
| ROS 2 | foxglove_msgs/msg/SceneEntity |
| JSON | foxglove.SceneEntity |
| Protobuf | foxglove.SceneEntity |
| FlatBuffers | foxglove.SceneEntity |
| OMG IDL | foxglove::SceneEntity |
You must use the data structure names specified above so that visualizations can recognize the data structure.