Parameters for inspectDataModel.

interface InspectDataModelParams {
    checkIfcElementContainment?: boolean;
    checkIfcSpatialHierarchy?: boolean;
    checkRelationshipCycles?: boolean;
    checkRelationshipTypeBinding?: boolean;
    checkSchemaTagging?: boolean;
    cycleRelationshipTypes?: readonly string[];
    dataModel: DataModel;
    ifcAggregationType?: string;
    ifcElementSuperTypes?: readonly string[];
    ifcSpatialParents?: { [childType: string]: readonly string[] };
    ifcSpatialStructureSuperTypes?: readonly string[];
    onProgress?: (progress: inspect.dataModel.InspectProgress) => void;
    registry?: inspect.dataModel.InspectionRegistry;
    schema?: DataFormatSchema;
    signal?: AbortSignal;
}

Properties

checkIfcElementContainment?: boolean

Enable ifcElementContainment: flag IFC elements that are aggregated under a spatial structure instead of contained via IfcRelContainedInSpatialStructure. Needs schema.

checkIfcSpatialHierarchy?: boolean

Enable ifcSpatialHierarchy: walk the IFC Project → Site → Building → Storey → Space chain.

checkRelationshipCycles?: boolean

Enable relationshipCycles: directed-graph cycle scan over container-style relationships.

checkRelationshipTypeBinding?: boolean

Enable relationshipTypeBinding: validates each relationship's endpoint types against the schema's allowed-types lists, honouring super-type inheritance.

checkSchemaTagging?: boolean

Enable schemaTagging: compares per-entity schema fields against DataFormatSchema.id.

cycleRelationshipTypes?: readonly string[]

Relationship type ids treated as containment for the cycle scan. Defaults to IfcRelAggregates, IfcRelNests, IfcRelContainedInSpatialStructure.

dataModel: DataModel
ifcAggregationType?: string

Aggregation relationship type used by ifcSpatialHierarchy and ifcElementContainment. Defaults to "IfcRelAggregates".

ifcElementSuperTypes?: readonly string[]

Super-type ids that classify a DataObject as an IFC building / furnishing element. Defaults to ["IfcElement"]; set to ["IfcBuildingElement"] to be stricter.

ifcSpatialParents?: { [childType: string]: readonly string[] }

Override the canonical IFC4 allowed-parents map used by ifcSpatialHierarchy. Keyed by child type.

ifcSpatialStructureSuperTypes?: readonly string[]

Super-type ids that classify a DataObject as an IFC spatial structure element. Defaults to ["IfcSpatialStructureElement"].

onProgress?: (progress: inspect.dataModel.InspectProgress) => void

Honoured by inspectDataModelAsync only.

When supplied, schema-aware inspections (type registration, type binding, schema tagging) light up; when omitted, only the structural always-on inspections fire.

signal?: AbortSignal

Honoured by inspectDataModelAsync only.