Defines the DOMObject3D bounding boxes in both document and world spaces

interface DOMObject3DSize {
    shouldUpdate: boolean;
    normalizedWorld: {
        size: Vec2;
        position: Vec2;
    };
    cameraWorld: {
        size: Vec2;
    };
    scaledWorld: {
        size: Vec3;
        position: Vec3;
    };
}

Properties

shouldUpdate: boolean

Whether we should update the computed sizes before updating the matrices.

normalizedWorld: {
    size: Vec2;
    position: Vec2;
}

Normalized world size represent the size ratio of the DOM element compared to its container (the renderer DOM element).

Type declaration

  • size: Vec2

    2D size of the DOMObject3D relative to the document, in the [0, 1] range.

  • position: Vec2

    2D position of the DOMObject3D relative to the document, in the [-1, 1] range, [0, 0] being at the container center.

cameraWorld: {
    size: Vec2;
}

Camera world size and position are the normalizedWorld size and positions accounting for camera screen ratio (visible height / width in world unit)

Type declaration

  • size: Vec2

    2D size of the DOMObject3D relative to the camera field of view and size.

scaledWorld: {
    size: Vec3;
    position: Vec3;
}

Scaled world size and position are the cameraWorld size and position scaled by the geometry bounding box, because the geometry vertices are not always in the [-1, 1] range.

Type declaration

  • size: Vec3

    3D size of the DOMObject3D relative to the camera field of view and size and the geometry bounding box.

  • position: Vec3

    3D position of the DOMObject3D relative to the camera field of view and size and the normalized coordinates.