Skip to main content

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

FieldTypeDescription
timestamptimeEntity timestamp
frame_idstringReference frame
idstringEntity identifier. An entity will replace any previous entity with the same id on the same topic.
lifetimedurationThe 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_lockedbooleanWhether the entity should remain in a fixed frame (false) or follow the frame specified in frame_id (true) relative to a fixed frame.
metadataKeyValuePair[]Additional user-provided metadata associated with the entity. Keys must be unique.
arrowsArrowPrimitive[]Arrow primitives
cubesCubePrimitive[]Cube primitives
spheresSpherePrimitive[]Sphere primitives
cylindersCylinderPrimitive[]Cylinder primitives
linesLinePrimitive[]Line primitives
trianglesTriangleListPrimitive[]Triangle list primitives
textsTextPrimitive[]Text primitives
modelsModelPrimitive[]Model primitives

Reference Implementation

Visualization data structures are framework-agnostic and can be implemented using any supported message encoding:

EncodingData Structure
ROS 1foxglove_msgs/SceneEntity
ROS 2foxglove_msgs/msg/SceneEntity
JSONfoxglove.SceneEntity
Protobuffoxglove.SceneEntity
FlatBuffersfoxglove.SceneEntity
OMG IDLfoxglove::SceneEntity

You must use the data structure names specified above so that visualizations can recognize the data structure.