using System; using System.Collections.Generic; using System.Windows; namespace SAGA.Models { [Serializable] public class SgSpace : SgElement { public SgSpace() { this.IsSpace = true; } public SgSpace(string id, string name) : base(id, name) { this.IsSpace = true; } /// /// 周围相关空间 /// public List AdjacentSpaces { get; set; } = new List(); /// /// 上下关系空间 /// public List UpElements { get; set; } = new List(); /// /// 空间轮廓,用于空间垂直关系发生不连接的时候使用 /// public List> BoundarySegment { get; set; } = new List>(); /// /// 空间功能区类型(楼梯,电梯井,扶梯 /// public string RoomFuncType { get; set; } } public class AdjacentSpace { public SpaceRelatedEnum RelatedEnum { get; set; } public SgSpace Space { get; set; } } /// /// 空间关系 /// [Flags] public enum SpaceRelatedEnum : int { /// /// 空间临接 /// Adjacent = 1, /// /// 建筑交通关系(门,虚拟墙) /// Crossing = 2, /// /// 空气流通关系(门,窗,虚拟墙) /// Ventilation = 4, /// /// 光照辐射关系(窗,虚拟墙) /// Radiation = 8, /// /// 所有关系 /// // All = 15 } }