Represent a 3D cartesian grid (axis aligned)

Hierarchy

  • Grid3DHelper

Constructors

  • Parameters

    • min: V3
    • max: V3
    • nx: number
    • ny: number
    • nz: number
    • eps: number = 1e-7

    Returns Grid3DHelper

Accessors

  • get count(): number
  • Returns number

  • get dx(): number
  • Returns number

  • get dy(): number
  • Returns number

  • get dz(): number
  • Returns number

  • get nx(): number
  • Returns number

  • get ny(): number
  • Returns number

  • get nz(): number
  • Returns number

  • get origin(): number[]
  • Returns number[]

  • get xLength(): number
  • Returns number

  • get yLength(): number
  • Returns number

  • get zLength(): number
  • Returns number

Methods

  • Get the (i,j,k) position of the intersecting cell. The 4 corners will be

    (i,j), (i+1,j), (i+1,j+1) and (i,j+1)

    y
    ^
    |
    *---* (i+1,j+1)
    | |
    (i,j) *---* --> x

    Parameters

    • p: [number, number, number]

    Returns [number, number, number]

  • Given the (i,j,k) indices of a cell, return its faltten index. This index varies from 0 to nx*ny and is unique for each corner cell of teh grid. It is mainly used to get the attribute at a given position.

    Parameters

    • i: number
    • j: number
    • k: number

    Returns number

  • Return the flat-indices of the 8 corners of the intersecting cell with point p

    Parameters

    • p: [number, number, number]

    Returns [number, number, number, number, number, number, number, number]

  • Iterate aver all points of the grids and call cb = Function(x, y, z, i, j, k, flat)

    Parameters

    • cb: ((x: number, y: number, z: number, i: number, j: number, k: number, flat: number) => void)
        • (x: number, y: number, z: number, i: number, j: number, k: number, flat: number): void
        • Parameters

          • x: number
          • y: number
          • z: number
          • i: number
          • j: number
          • k: number
          • flat: number

          Returns void

    Returns void

  • Parameters

    • p: [number, number, number]

    Returns {
        ijk?: number[];
        ok: boolean;
    }

    • Optional ijk?: number[]
    • ok: boolean
  • Parameters

    • p: [number, number, number]
    • attribute: Serie<IArray>

    Returns number | number[]

  • Iterate aver all points of the grids and generate a new array of the transformed point by calling cb = Function(x, y, z, i, j, k, flat)

    Parameters

    • cb: ((x: number, y: number, z: number, i: number, j: number, k: number, flat: number) => number)
        • (x: number, y: number, z: number, i: number, j: number, k: number, flat: number): number
        • Parameters

          • x: number
          • y: number
          • z: number
          • i: number
          • j: number
          • k: number
          • flat: number

          Returns number

    Returns any[]

  • Given the (i,j) indices of a cell (lower-left corner), return its (x,y) position

    Parameters

    • i: number
    • j: number
    • k: number

    Returns [number, number, number]