| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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;
- }
- /// <summary>
- /// 周围相关空间
- /// </summary>
- public List<AdjacentSpace> AdjacentSpaces { get; set; } = new List<AdjacentSpace>();
- /// <summary>
- /// 上下关系空间
- /// </summary>
- public List<AdjacentSpace> UpElements { get; set; } = new List<AdjacentSpace>();
- /// <summary>
- /// 空间轮廓,用于空间垂直关系发生不连接的时候使用
- /// </summary>
- public List<List<Point>> BoundarySegment { get; set; } = new List<List<Point>>();
- /// <summary>
- /// 空间功能区类型(楼梯,电梯井,扶梯
- /// </summary>
- public string RoomFuncType { get; set; }
- }
- public class AdjacentSpace
- {
- public SpaceRelatedEnum RelatedEnum { get; set; }
- public SgSpace Space { get; set; }
- }
- /// <summary>
- /// 空间关系
- /// </summary>
- [Flags]
- public enum SpaceRelatedEnum : int
- {
- /// <summary>
- /// 空间临接
- /// </summary>
- Adjacent = 1,
- /// <summary>
- /// 建筑交通关系(门,虚拟墙)
- /// </summary>
- Crossing = 2,
- /// <summary>
- /// 空气流通关系(门,窗,虚拟墙)
- /// </summary>
- Ventilation = 4,
- /// <summary>
- /// 光照辐射关系(窗,虚拟墙)
- /// </summary>
- Radiation = 8,
- /// <summary>
- /// 所有关系
- /// </summary>
- // All = 15
- }
- }
|