# Class BimApiLoadOptionsFactory

Factory class for various prebuilt Bim API loader option configurations

##### Index

### Constructors

constructor

### Methods

all
architecture
discipline
simpleBuilding
space

## Constructors

### constructor

- new BimApiLoadOptionsFactory(): BimApiLoadOptionsFactory

  #### Returns BimApiLoadOptionsFactory

## Methods

### `Static` all

- all(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate

  Loads IFC files matching the floor filter (must contain one of the floors) and all objects in them.

  #### Parameters

  - floors: string[] = []

    List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If length = 0 then all files will be matched.

  #### Returns BimApiLoadOptionsWithIfcChangePredicate

### `Static` architecture

- architecture(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate

  Only loads IFC files which match the architecture criteria. In those files only IFC objects which match architecture criteria will keep their geometries. Any IFC objects that have no children and where BimIfcObject.hasGeometry === false will be removed from the IFC hiearchy.

  #### Parameters

  - floors: string[] = []

    List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If 0 length then all files will be matched

  #### Returns BimApiLoadOptionsWithIfcChangePredicate

### `Static` discipline

- discipline(
  disciplines?: Discipline[],
  floors?: string[],
  removeLeafIfcObjectsWithNoGeometry?: boolean,
  ): BimApiLoadOptionsWithIfcChangePredicate

  Only loads IFC files which contain the given floors and disciplines criteria. In those files, only IFC objects which above criterias will keep their geometries. Any IFC objects that have no children and where BimIfcObject.hasGeometry === false will be removed from the IFC hierarchy.

  #### Parameters

  - disciplines: Discipline[] = []

    List of disciplines that each IFC file is matched against. IFC file will only be loaded if it has matching discipline. If length = 0 length, it will match all disciplines.

  - floors: string[] = []

    List of floors to which an IFC file must include at least one floor reference to be eligible for loading. If length = 0 then all files will be matched.

  - removeLeafIfcObjectsWithNoGeometry: boolean = true

  #### Returns BimApiLoadOptionsWithIfcChangePredicate

### `Static` simpleBuilding

- simpleBuilding(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate

  Only loads IFC files which match SimpleBuilding criteria. In those files only IFC objects which match Simplebuilding criterias will keep their geometries. Any IFC objects that have no children and where BimIfcObject.hasGeometry === false will be removed from the IFC hierarchy.

  #### Parameters

  - floors: string[] = []

    List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If 0 length then all files will be matched

  #### Returns BimApiLoadOptionsWithIfcChangePredicate

### `Static` space

- space(floors?: string[]): BimApiLoadOptionsWithIfcChangePredicate

  Only loads IFC files cotaining spaces from disciplines A and AR. In those files, only IFC objects which are spaces will keep their geometries. Any IFC objects that have no children and where BimIfcObject.hasGeometry === false will be removed from the IFC hierarchy.

  #### Parameters

  - floors: string[] = []

    List of floors a IFC file must have at least one reference to in ordered to be considered for loading. If length = 0, then all files will be matched.

  #### Returns BimApiLoadOptionsWithIfcChangePredicate