@twinfinity/core
    Preparing search index...

    Class BimIfcLoader

    Represents a BIM IFC Loader. Responsible for managing a collection of IFC files and loading data from them.

    Implements

    Index

    Constructors

    Properties

    vertexDataRepository: BimVertexDataRepository

    Accessors

    • get ifcProductsWithGeometryCount(): number

      Gets the count of IFC products with geometry.

      Returns number

      The number of IFC products with geometry.

    • get regionBoundingInfo(): BoundingInfo

      Get the bounding info for loaded IFC files based on the most populated regions of each IFC file, excluding outliers and anomalous regions. The bounding info is derived from the regions with the highest IFC product count in each IFC file. Regions distant from the majority are excluded. The regionBoundingInfo is critical for camera positioning to ensure the entire regionBoundingInfo is within the camera's frustum. Overly large regionBoundingInfo can result in the camera being too distant, causing visibility issues. This can occur if anomalies are undetectable, e.g., when 50% of regions are proximate while the remaining 50% are outliers but also proximate to each other. This is common when IFC files are modeled in different coordinate systems, leading to disparate global positions for files intended to be co-located. There have been cases where IFC files, that should been co-located, are actually located in widely different places on the globe. Whenever add is called (before clear) this property is updated.

      Returns BoundingInfo

    Methods

    • Calculates the min and max coordinate of the axis-aligned bounding box (AABB) encompassing a collection of BimIfcObject's. The AABB is defined by the minimum and maximum coordinates in each axis. The result is written to the provided min and max vectors.

      Parameters

      Returns void

    • Returns undefined | ReadonlySet<BimIfcObject>

      • No longer does anything.
    • Returns void

      No longer does anything

    • Calculate the bounding info for the currently loaded IFC files based on the most populated regions of each IFC file, excluding outliers and anomalous regions.

      Parameters

      • onlyMostPopulatedRegions: boolean

        Indicates whether to include only the most populated regions.

      • useWorldSpace: boolean = true

        Indicates whether to use world space coordinates. Default is true

      Returns BoundingInfo

      The bounding information for the regions.

      The bounding info is derived from the regions with the highest IFC product count in each IFC file. Regions distant from the majority are excluded. The regionBoundingInfo is critical for camera positioning to ensure the entire regionBoundingInfo is within the camera's frustum. Overly large regionBoundingInfo can result in the camera being too distant, causing visibility issues. This can occur if anomalies are undetectable, e.g., when 50% of regions are proximate while the remaining 50% are outliers but also proximate to each other. This is common when IFC files are modeled in different coordinate systems, leading to disparate global positions for files intended to be co-located. There have been cases where IFC files, that should been co-located, are actually located in widely different places on the globe.

    • Loads the property sets for currently loaded IFC files add. If property sets are already loaded then this method does nothing.

      Returns Promise<void>

      A promise that resolves when all property sets have been loaded.

    • Gets a iterator for all Ifc products currently loaded.

      Returns IterableIterator<BimIfcObject>