API_​IFCRelationshipData

Contains IFC Entity relations which are specific for the IFC. The IFC Entities are represented by their GlobalId.

    typedef struct {
        GS::HashTable<API_Guid, API_Guid>     	    containmentTable;
        GS::HashTable<API_Guid, API_Guid>     	    relFillsTable;
        GS::HashTable<API_Guid, API_Guid>     	    relVoidsTable;
        GS::HashSet<GS::Pair<API_Guid, API_Guid>>   assignmentTable;
        GS::HashTable<API_Guid, API_Guid>     	    typeProductTable;
    } API_IFCRelationshipData

 

Members

containmentTable 
IFC containment tree in “child->parent” format.
relFillsTable 
Relationships between openings (Doors/Windows/Skylights) and IfcOpeningElements (voids).
relVoidsTable 
Relationships between IfcOpeningElements (voids) and their parent IfcWall or IfcSlab.
assignmentTable 
IFC Assigment links, IfcGroup, IfcZone, IfcSystem, IfcRelAssignsToGroup and IfcRelServicesBuildings.
typeProductTable 
IFC Type Products tree.

 

Remarks

This structure is used in API_IFCDifferenceGeneratorState, ACAPI_MarkUp_ImportFromBCF and APIDo_SaveID.

The IFC containment tree (containmentTable) is in “child -> parent” format. Example:

IfcBuilding -> IfcProject
IfcSite -> IfcBuilding
IfcBuildingStorey -> IfcBuilding
IfcWall -> IfcBuildingStorey
IfcBuildingElementPart -> IfcWall.

The IFC assignmentTable set (assignmentTable) is in “child -> parent” format. Example:

IfcWall -> IfcRelAssignsToGroup
IfcRelAssignsToGroup -> IfcGroup.

The IFC Type Products (typeProductTable) is in “child -> parent” format. Example:

IfcWall -> IfcWallType.

 

Requirements

Version: API 23 or later
Header: APIdefs_Goodies.h

 

See Also

API_IFCDifferenceGeneratorState, API Types