Options
All
  • Public
  • Public/Protected
  • All
V1.7
  • V1.6
  • V1.7
Menu

Class AABB

Axis-aligned bounding box.

Hierarchy

  • AABB

Index

Constructors

constructor

  • new AABB(): AABB
  • new AABB(min: [number, number, number] | Float32Array, max: [number, number, number] | Float32Array): AABB

Properties

Static EMPTY

EMPTY: AABB

Default constructed AABB with no enclosed volume. value = AABB()

Methods

contains

  • contains(point: [number, number, number] | Float32Array): boolean
  • Is the point contained within the bounds.

    Parameters

    • point: [number, number, number] | Float32Array

    Returns boolean

extend

  • extend(other: AABB): void
  • extend(point: [number, number, number] | Float32Array): void
  • Extend this AABB to also enclose the given AABB.

    Parameters

    Returns void

  • Extend this AABB to enclose the given point.

    Parameters

    • point: [number, number, number] | Float32Array

    Returns void

getCenter

  • getCenter(): [number, number, number]

getDepth

  • getDepth(): number

getExtents

  • getExtents(): [number, number, number]
  • Get the extents (w/2,h/2,d/2) of the bounding box.

    Returns [number, number, number]

getHeight

  • getHeight(): number

getMax

  • getMax(): [number, number, number]

getMin

  • getMin(): [number, number, number]

getWidth

  • getWidth(): number

intersect

  • intersect(rayOri: [number, number, number] | Float32Array, rayDir: [number, number, number] | Float32Array): number | null
  • Intersect AABB with a ray. The AABB is assumed to be a solid block; if the ray origin is inside the AABB it will be considered a hit with a distance of 0.

    Parameters

    • rayOri: [number, number, number] | Float32Array

      Start point of the ray.

    • rayDir: [number, number, number] | Float32Array

      Direction of the ray. The ray is assumed to be infinite in length.

    Returns number | null

    Distance to the intersection. To get the intersection point, use rayOri + rayDir * dist.

isEmpty

  • isEmpty(): boolean
  • Get whether the AABB is EMPTY.

    An EMPTY AABB is un-initialized and contains no valid data, but is ready for extending.

    Returns boolean

isValid

  • isValid(): boolean
  • Get whether the AABB is valid.

    An invalid AABB is where any component in max is less than the same component in min.

    EMPTY is an invalid AABB.

    Returns boolean

isZeroSize

  • isZeroSize(): boolean
  • Get whether the AABB is of zero size.

    An AABB with zero size is where min and max are at the same point.

    Returns boolean

isZeroVolume

  • isZeroVolume(): boolean
  • Get whether the AABB is of zero volume.

    An AABB with zero volume is where any component in min equals the same component in max.

    Returns boolean

setMax

  • setMax(max: [number, number, number] | Float32Array): void
  • Set the maximum coordinate of the bounding box

    Parameters

    • max: [number, number, number] | Float32Array

    Returns void

setMin

  • setMin(min: [number, number, number] | Float32Array): void
  • Set the minimum coordinate of the bounding box

    Parameters

    • min: [number, number, number] | Float32Array

    Returns void

toString

  • toString(): string

transform

  • transform(mat: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | Float32Array): void
  • Transform the AABB. The resulting AABB will be the minimal AABB enclosing the original AABB with the provided transform applied.

    Parameters

    • mat: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | Float32Array

    Returns void

translate

  • translate(offset: [number, number, number] | Float32Array): void
  • Translate this AABB by the given offset.

    Parameters

    • offset: [number, number, number] | Float32Array

    Returns void

Generated using TypeDoc