# Interface IfcWithOptions

Represents the data structure for loading an IFC file with additional options.

interface IfcWithOptions {
apiUrl: string;
availableLayerDefinitions: LayerDefinitions;
blobId: string;
classes: ModelProductClass[];
containerId: string;
discipline: Discipline;
etag: string;
floors: IfcFloor[];
format: string;
id: string;
loadOptions?: BimApiIfcObjectsLoadOptions;
metadata: BimChangeIfcMetadata & BimChangeBaseMetadata;
name: string;
ownerSystem: string;
path: string;
permissions: Permissions;
permissionsString: string;
productCount: number;
resourceUrl: HttpIfcResourceUrls;
transform?: Matrix;
type: BlobWithGeometry;
url: string;
version: number;
}

#### Hierarchy (View Summary)

- BimChangeIfc
  - IfcWithOptions

##### Index

### Properties

apiUrl
availableLayerDefinitions
blobId
classes
containerId
discipline
etag
floors
format
id
loadOptions?
metadata
name
ownerSystem
path
permissions
permissionsString
productCount
resourceUrl
transform?
type
url
version

## Properties

### `Readonly` apiUrl

apiUrl: string

Contains base API URL to use when calling backend methods for this particular item.

Inherited from BimChangeIfc.apiUrl

### `Readonly` availableLayerDefinitions

availableLayerDefinitions: LayerDefinitions

List of layers, that can be added to this change, together with the permission that the current user has for each of them.

Inherited from BimChangeIfc.availableLayerDefinitions

### `Readonly` blobId

blobId: string

Id of blob that contains the geometry

Inherited from BimChangeIfc.blobId

### `Readonly` classes

classes: ModelProductClass[]

Set of IfcClasses available in the IFC file

Inherited from BimChangeIfc.classes

### `Readonly` containerId

containerId: string

Id of BimContainer to which this change belongs.

Inherited from BimChangeIfc.containerId

### `Readonly` discipline

discipline: Discipline

Discipline. Example A, K, V etc

Inherited from BimChangeIfc.discipline

### `Readonly` etag

etag: string

etag for change. Used for optimistic concurrency checks and in operations where we want to check if data has changed or not since last etag we have.

Inherited from BimChangeIfc.etag

### `Readonly` floors

floors: IfcFloor[]

Floors (IfcBuildingStorey) available in IFC file

Inherited from BimChangeIfc.floors

### `Readonly` format

format: string

Format of change.

Inherited from BimChangeIfc.format

### `Readonly` id

id: string

Id of change.

Inherited from BimChangeIfc.id

### `Optional` loadOptions

loadOptions?: BimApiIfcObjectsLoadOptions

Extra options for loading the IFC file. Normally used to prevent geometry being loaded for certain IFC objects or to set the visibility of IFC objects.

### `Readonly` metadata

metadata: BimChangeIfcMetadata & BimChangeBaseMetadata

IFC change metadata.

Inherited from BimChangeIfc.metadata

### `Readonly` name

name: string

Name of change.

Inherited from BimChangeIfc.name

### `Readonly` ownerSystem

ownerSystem: string

Id of system that the change originated from. If a change in Twinfinity was created because an external system pushed it into Twinfinity then the id will refer to that system. If change originates from Twinfinity (for example because a file was uploaded by a user) then the id will always be 'twinfinity'.

Inherited from BimChangeIfc.ownerSystem

### `Readonly` path

path: string

Unique path for the change. Each change has one. If the change or one of its parents are renamed then the path will change.

Inherited from BimChangeIfc.path

### `Readonly` permissions

permissions: Permissions

64 bit permission bitmask. Used to verify that a user has required permissions on a change. Since there is no native JSON support for bitmasks, the value is derived from permissionsString.

Inherited from BimChangeIfc.permissions

### `Readonly` permissionsString

permissionsString: string

String used to represent the permissions bitmask.

Inherited from BimChangeIfc.permissionsString

### `Readonly` productCount

productCount: number

Number of IFC products available in this change

Inherited from BimChangeIfc.productCount

### `Readonly` resourceUrl

resourceUrl: HttpIfcResourceUrls

Urls of .idx, .geom and .prop files available for the .ifc file.

Inherited from BimChangeIfc.resourceUrl

### `Optional` transform

transform?: Matrix

The transformation to be applied to the loaded IFC file. This is useful for positioning the IFC file in the world.

### `Readonly` type

type: BlobWithGeometry

Indicates that we have a change with ifc

Inherited from BimChangeIfc.type

### `Readonly` url

url: string

URL of change content. Points to the endpoint where the content of the change can be retrieved by a simple GET request.

Inherited from BimChangeIfc.url

### `Readonly` version

version: number

Version of change

Inherited from BimChangeIfc.version