@twinfinity/core
    Preparing search index...

    Class VertexDataMerge

    Represents a geometry that consists of one or more IFC objects

    Implements

    Index

    Constructors

    Properties

    id: string

    The unique identifier for the geometry.

    indiceCount: number = 0
    isTransparent: boolean

    Indicates whether the geometry is transparent.

    primitiveCount: number = 0
    productsAndMeshes: Map<BimIfcObject, Set<BimProductMesh>> = ...

    The products and meshes associated with the geometry.

    Accessors

    • get aabb(): { max: Vector3; min: Vector3 }

      The axis-aligned bounding box of the geometry.

      Returns { max: Vector3; min: Vector3 }

    • get center(): Vector3

      The center of the geometry's axis-aligned bounding box in IFC space.

      Returns Vector3

    • get cullingDistance(): number

      The distance at which the geometry should be culled.

      Returns number

    • get cullOnCameraMove(): boolean

      Specifies whether to cull the geometry when the camera moves.

      Returns boolean

    • get positions(): Float32Array<ArrayBufferLike>

      Positions (x,y,z).

      Returns Float32Array<ArrayBufferLike>

    • get uvs(): Float32Array<ArrayBufferLike>

      Uvs (u,v)

      Returns Float32Array<ArrayBufferLike>

    Methods

    • Applies the geometry data this instances represents (positions, uvs, indices, aabb and optionally normals.) to the specified Geometry. Notice that the geometry is in IFC space. If geometry is assing to a Mesh one can use coordinateSystems.toBabylonTransform as the mesh pretransform matrix. This will ensure that mesh behaves as if it is in BabylonJS worldspace.

      Parameters

      Returns void

    • Replaces the internal geometry arrays with tightly-sized copies of the actually-written prefix. After this call, the views into the GeometryBuffer that backed the merge are dropped, so the underlying ArrayBuffers become GC-eligible once the GeometryBuffer itself goes out of scope.

      Safe to call only after merge. Result-equivalent on repeated calls but each call performs a fresh allocation; do not call more than once per merge. _currentOffset is preserved so that applyToGeometry and copyNormalsTo continue to compute identical bounds.

      The indices array constructor (Uint16Array vs Uint32Array) is preserved; we deliberately do NOT downgrade Uint32 to Uint16 even when the actual position count fits, because consumers may hold references typed against the original choice.

      Returns void