Transform & TransformTime


level_1


Transform

A Transform represents a geometric transform.

It is composed of:

  • a translation: Vector3,
  • a rotation: Quaternion.

See also javadoc: Transform, Vector3 and Quaternion.

TransformTime

A TransformTime is a structure grouping a Transform and a timestamp.

Typically, a TransformTime represents a geometric transform between 2 Frames that is correct at a given time. The time component is equal to this specific time.

See also javadoc: TransformTime and Timestamps.

How to use it

Making and managing attached frames

Create an AttachedFrame from a base Frame and a Transform:

Frame baseFrame = ...;
Transform transform = TransformBuilder.create().fromXTranslation(1);
AttachedFrame attachedFrame = baseFrame.makeAttachedFrame(transform);

Update the Transform between an AttachedFrame and its parent Frame:

AttachedFrame attachedFrame = ...;
Transform transform = TransformBuilder.create().fromXTranslation(2);
attachedFrame.update(transform);

Managing free frames

Update the Transform between a FreeFrame and a base Frame, based on sensor data acquired at a given timestamp:

FreeFrame freeFrame = ...;
Frame baseFrame = ...;
Transform transform = ...;
freeFrame.update(baseFrame, transform, timestamp);

See also javadoc: FreeFrame and Timestamps.

Getting a transform between 2 Frames

Retrieve a TransformTime between 2 Frames:

Frame baseFrame = ...;
Frame transformedFrame = ...;
TransformTime transformTime = transformedFrame.computeTransform(baseFrame);