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
}
}