10.10.4.2. Mutable

If the pair is a dictionary with a key type, it’s a mutable. There are 3 types of mutables: Camera (where we are), Geometry (the things we want to see), Light (how we see things).

Each mutable consists of attributes. Each key-value pair of a mutable is an attribute. An attribute can be a Mutable attribute, which mutates per frame.

Available attributes of mutables:

Name

Type

Description

type

string

The type of the mutable, camera, geometry or light.

count

int

The number of identically defined mutables

tracked

bool

If the mutable is tracked, its 2D/3D bounding boxes will be output, and it will have a corresponding hightlighted color on the segmentation mask.

transform_operators

list

The transformation of the object.

Transform operators

Specially, to define its pose in space, the mutable can define a sequenced list of transform operators. A transform operator is also a key-value pair, in which the value can be a mutable attribute.

Name, count and index

A mutable has a name which is the key in the key-value pair, and potentially an index, if defined in group with a count attribute. For example, this mutable:

mesh:
  count: 2
  ...

During initialization stage, 2 mutables are initialized after the description is parsed, such that as if we are defining:

mesh_0:
  count: 2
  index: 0
  name: mesh_0
  ...

mesh_1:
  count: 2
  index: 1
  name: mesh_1
  ...

The count is still there so that we can access how many mutables are in the group. We can use these values when we define macros.