Class ScatterArrangement

Scatter an arbitrary number of objects, which can start to stack items on top of each other if needed. Objects are biased towards the middle of the available space.

Hierarchy

Constructors

Properties

itemWidth?: number

When provided, replaces the size of each child object when arranging.

jitter: boolean
localBounds?: Bounds

When provided, used instead of the bounds of the parent object when arranging.

margin: Vector3
maxJitterOffset: Vector3
maxJitterRotation: Rotation
minJitterOffset: Vector3
minJitterRotation: Rotation
DEFAULT_MAX_JITTER_OFFSET: Vector3 = ...
DEFAULT_MAX_JITTER_ROTATION: Rotation = ...
FALLBACK: LinearArrangement = ...

Arrangement used if the available space can't be determined.

Methods

  • Generates the transformations for a bunch of child objects, given the bounds of the containing object.

    Parameters

    • boundsArray: Bounds[]

      Axis aligned offsets and sizes of each child object.

    • Optional parentLocalBounds: Bounds

      Offset and size of the containing object.

    • Optional jitterSeed: string

      Seed used to deterministically apply jitter to the generated arrangement.

    Returns ITransform[]

    Array of generated transformations, one for each element in boundsArray.

  • When implemented in a deriving class, generates the base transformations for an array of objects. The returned array must contain exactly one element for each item in boundsArray. There's no need to handle margin or jitter here, those features are implemented in the base class.

    Parameters

    • boundsArray: Bounds[]

      Axis aligned offsets and sizes of each child object.

    • random: Random

      Random number generator available for adding variance to the generated transforms. Will produce the same sequence of samples between calls on the same instance.

    • Optional parentLocalBounds: Bounds

      Offset and size of the containing object.

    Returns ITransform[]

Generated using TypeDoc