Options
All
  • Public
  • Public/Protected
  • All
Menu

Class BoxBuffer

Buffer for (untransformed) Box2 objects. Can be used to create a single geometry for screen- aligned boxes, like POIs.

Hierarchy

  • BoxBuffer

Index

Constructors

constructor

  • new BoxBuffer(m_material: Material | Material[], m_renderOrder?: number, startElementCount?: number, m_maxElementCount?: number): BoxBuffer
  • Creates a new BoxBuffer.

    Parameters

    • m_material: Material | Material[]

      Material to be used for [[Mesh]] of this BoxBuffer.

    • Default value m_renderOrder: number = 0

      Optional renderOrder of this buffer.

    • Default value startElementCount: number = START_BOX_BUFFER_SIZE

      Initial number of elements this BoxBuffer can hold.

    • Default value m_maxElementCount: number = MAX_BOX_BUFFER_SIZE

      Maximum number of elements this BoxBuffer can hold.

    Returns BoxBuffer

Accessors

isEmpty

  • get isEmpty(): boolean

mesh

size

  • get size(): number

Methods

addBox

  • addBox(screenBox: Box, uvBox: UvBox, color: Color, opacity: number, distance: number, pickInfo?: any): boolean
  • Adds a new box to this BoxBuffer.

    Parameters

    • screenBox: Box

      Math2D.Box holding screen coordinates for this box.

    • uvBox: UvBox

      Math2D.UvBox holding uv coordinates for this box.

    • color: Color

      Box's color.

    • opacity: number

      Box's opacity.

    • distance: number

      Box's distance to camera.

    • Optional pickInfo: any

      Box's picking information.

    Returns boolean

canAddElements

  • canAddElements(glyphCount?: number): boolean
  • Returns true if this BoxBuffer can hold the specified amount of glyphs. If the buffer can only add the glyph by increasing the buffer size, the resize() method is called, which will then create a new geometry for the mesh.

    Parameters

    • Default value glyphCount: number = 1

      Number of glyphs to be added to the buffer.

    Returns boolean

    true if the element (box or glyph) can be added to the buffer, false otherwise.

cleanUp

  • cleanUp(): void

clone

dispose

  • dispose(): void

pickBoxes

  • pickBoxes(screenPosition: Vector2, pickCallback: (pickData: any | undefined) => void, image?: CanvasImageSource | ImageData): void
  • Fill the picking results for the pixel with the given screen coordinate. If multiple boxes are found, the order of the results is unspecified.

    Parameters

    • screenPosition: Vector2

      Screen coordinate of picking position.

    • pickCallback: (pickData: any | undefined) => void

      Callback to be called for every picked element.

        • (pickData: any | undefined): void
        • Parameters

          • pickData: any | undefined

          Returns void

    • Optional image: CanvasImageSource | ImageData

      Image to test if the pixel is transparent

    Returns void

reset

  • reset(): void

resize

  • resize(newSize?: undefined | number, forceResize?: undefined | false | true): BoxBufferMesh
  • Creates a new {@link @here/harp-datasource-protocol#Geometry} object from all the attribute data stored in this BoxBuffer.

    remarks

    The [[Mesh]] object may be created if it is not initialized already.

    Parameters

    • Optional newSize: undefined | number

      Optional number of elements to resize the buffer to.

    • Optional forceResize: undefined | false | true

      Optional flag to force a resize even if new size is smaller than before.

    Returns BoxBufferMesh

restoreState

  • restoreState(state: State): void

saveState

updateBufferGeometry

  • updateBufferGeometry(): void

updateMemoryUsage

Generated using TypeDoc