/// <summary> /// Constructs a SpaceBoundary object. /// </summary> /// <param name="spatialElementId"> /// The spatial element id. /// </param> /// <param name="buildingElementId"> /// The building element id. /// </param> /// <param name="levelId"> /// The level element id. /// </param> /// <param name="connectionGeometry"> /// The connection geometry handle. /// </param> /// <param name="type"> /// The type of the space boundary. /// </param> /// <param name="isExternal"> /// Indicates if the space boundary is external or not. /// </param> public SpaceBoundary(ElementId spatialElementId, ElementId buildingElementId, ElementId levelId, IFCAnyHandle connectionGeometry, IFCPhysicalOrVirtual type, IFCInternalOrExternal internalOrExternal) { this.m_SpatialElementId = spatialElementId; this.m_BuildingElementId = buildingElementId; this.m_ConnectionGeometry = connectionGeometry; this.m_Type = type; this.m_internalOrExternal = internalOrExternal; this.m_LevelId = levelId; }
/// <summary> /// Constructs a SpaceBoundary object. /// </summary> /// <param name="name">The optional name of the space boundary.</param> /// <param name="spatialElementId">The spatial element id.</param> /// <param name="buildingElementId">The building element id.</param> /// <param name="levelId">The level element id.</param> /// <param name="connectionGeometry">The connection geometry handle.</param> /// <param name="type">The type of the space boundary.</param> /// <param name="isExternal">Indicates if the space boundary is external or not.</param> public SpaceBoundary(string name, ElementId spatialElementId, ElementId buildingElementId, ElementId levelId, IFCAnyHandle connectionGeometry, IFCPhysicalOrVirtual type, IFCInternalOrExternal internalOrExternal) { Name = name; SpatialElementId = spatialElementId; BuildingElementId = buildingElementId; ConnectionGeometryHandle = connectionGeometry; SpaceBoundaryType = type; InternalOrExternal = internalOrExternal; LevelId = levelId; }
/// <summary> /// Creates an IfcRelSpaceBoundary and assigns it to the file. /// </summary> /// <param name="file">The file.</param> /// <param name="guid">The GUID.</param> /// <param name="ownerHistory">The owner history.</param> /// <param name="name">The name.</param> /// <param name="description">The description.</param> /// <param name="relatingSpace">The relating space handle.</param> /// <param name="relatedBuildingElement">The related building element.</param> /// <param name="connectionGeometry">The connection geometry.</param> /// <param name="physicalOrVirtual">The space boundary type, physical or virtual.</param> /// <param name="internalOrExternal">Internal or external.</param> /// <returns>The handle.</returns> public static IFCAnyHandle CreateRelSpaceBoundary(IFCFile file, string guid, IFCAnyHandle ownerHistory, string name, string description, IFCAnyHandle relatingSpace, IFCAnyHandle relatedBuildingElement, IFCAnyHandle connectionGeometry, IFCPhysicalOrVirtual physicalOrVirtual, IFCInternalOrExternal internalOrExternal) { ValidateRelConnects(guid, ownerHistory, name, description); IFCAnyHandleUtil.ValidateSubTypeOf(relatingSpace, false, IFCEntityType.IfcSpace); IFCAnyHandleUtil.ValidateSubTypeOf(relatedBuildingElement, true, IFCEntityType.IfcElement); IFCAnyHandleUtil.ValidateSubTypeOf(connectionGeometry, true, IFCEntityType.IfcConnectionGeometry); IFCAnyHandle relSpaceBoundary = CreateInstance(file, IFCEntityType.IfcRelSpaceBoundary); IFCAnyHandleUtil.SetAttribute(relSpaceBoundary, "RelatingSpace", relatingSpace); IFCAnyHandleUtil.SetAttribute(relSpaceBoundary, "RelatedBuildingElement", relatedBuildingElement); IFCAnyHandleUtil.SetAttribute(relSpaceBoundary, "ConnectionGeometry", connectionGeometry); IFCAnyHandleUtil.SetAttribute(relSpaceBoundary, "PhysicalOrVirtualBoundary", physicalOrVirtual); IFCAnyHandleUtil.SetAttribute(relSpaceBoundary, "InternalOrExternalBoundary", internalOrExternal); SetRelConnects(relSpaceBoundary, guid, ownerHistory, name, description); return relSpaceBoundary; }