using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace MetroGauges.General
{
///
/// 竖曲线凹凸情况
///
public enum Vertical
{
///
/// 凸曲线
///
[Description("凸曲线")]
Convex = 0,
///
/// 凹曲线
///
[Description("凹曲线")]
Concave = 1
}
///
/// 车辆结构
///
public enum Structure
{
///
/// 整体焊接
///
[Description("整体焊接")]
Integral = 0,
///
/// 模块拼装
///
[Description("模块拼装")]
Module = 1
}
///
/// 计算断面位置
///
public enum Pin
{
///
/// 中心销内
///
[Description("中心销内")]
Inside=0,
///
/// 中心销外
///
[Description("中心销外")]
Outside = 1
}
///
/// 车辆轮廓控制点位置
///
public enum PositionI
{
///
/// 受电弓
///
[Description("受电弓")]
Pantograph = 0,
///
/// 车体
///
[Description("车体")]
Body = 1,
///
/// 转向架构架
///
[Description("转向架构架")]
BogieFrame = 2,
///
/// 簧下部分
///
[Description("簧下部分")]
Unsprung = 3,
///
/// 踏面
///
[Description("踏面")]
Tread = 4,
///
/// 轮缘
///
[Description("轮缘")]
Rim = 5,
///
/// 受流器
///
[Description("受流器")]
Collector = 6,
///
/// 其他
///
[Description("不可用")]
INVAIL = 7
}
///
/// 车辆限界控制点位置
///
public enum PositionII
{
///
/// 受电弓
///
[Description("受电弓")]
Pantograph = 0,
///
/// 车体顶部
///
[Description("车体顶部")]
TopBody = 1,
///
/// 车体底架边梁以上
///
[Description("车体底架边梁以上")]
UpChassis = 2,
///
/// 车体底架边梁及以下
///
[Description("车体底架边梁及以下")]
LowChassis = 3,
///
/// 转向架
///
[Description("转向架")]
Bogie = 4,
///
/// 车下吊挂
///
[Description("车下轨内吊挂")]
InnerBodyHanger = 5,
///
/// 车下吊挂
///
[Description("车下轨外吊挂")]
OuterBodyHanger = 6,
///
/// 轮缘
///
[Description("轮对")]
Wheelset = 7,
/////
///// 车下轨内
/////
//[Description("车下轨内")]
//InnerOthers = 8,
/////
///// 车下轨内
/////
//[Description("车下轨内")]
//OuterOthers = 9,
///
/// 无
///
[Description("不可用")]
INVAIL = 10
}
///
/// 工况
///
public enum WorkCondition
{
///
/// 空载
///
[Description("空载")]
AW0 = 0,
///
/// 座客荷载
///
[Description("座客荷载")]
AW1 = 1,
///
/// 定员荷载(6人/m2)
///
[Description("定员荷载")]
AW2 = 2,
///
/// 超员荷载(9人/m2)
///
[Description("超员荷载")]
AW3 = 3
}
///
/// 详细车型分类
///
public enum DMetro
{
[Description("A1型车")]
A1 = 0,
[Description("A2型车")]
A2 = 1,
[Description("B1型车")]
B1 = 2,
[Description("B2型车")]
B2 = 3
}
///
/// 通常车型分类
///
public enum NMetro
{
[Description("A型车")]
A = 0,
[Description("B型车")]
B = 1
}
///
/// 道床类型
///
public enum Ballast
{
///
/// 整体
///
[Description("整体")]
Monolithic = 0,
///
/// 碎石
///
[Description("碎石")]
Gravel = 1
}
///
/// 物理性质
///
public enum Physics
{
///
/// 柔性
///
[Description("柔性")]
Flexibility = 0,
///
/// 刚性
///
[Description("刚性")]
Inflexibility = 1
}
///
/// 线型
///
public enum CurveType
{
///
/// 直线
///
[Description("直线")]
Straight = 0,
///
/// 曲线
///
[Description("曲线")]
Curve = 1
}
///
/// 运行环境
///
public enum Environment
{
///
/// 隧道
///
[Description("隧道")]
Tunnel = 0,
///
/// 高架
///
[Description("高架")]
Elevated = 1,
}
///
/// 高架受电弓高度
///
public enum ElvateHeight
{
///
/// 高架4400mm
///
[Description("高架4400mm")]
Elevated_4400 = 0,
///
/// 高架5000mm
///
[Description("高架5000mm")]
Elevated_5000 = 1
}
///
/// 高低调节阀
///
public enum HeightValve
{
///
/// 两点高度阀
///
[Description("两点高度阀")]
Two = 0,
///
/// 三点高度阀
///
[Description("三点高度阀")]
Three = 1,
///
/// 四点高度阀
///
[Description("四点高度阀")]
Four = 2
}
///
/// 超高值
///
public enum SuperEleValue
{
///
/// 通常120mm
///
[Description("120mm")]
Normal = 0,
///
/// 时速120km/h,150mm
///
[Description("150mm")]
HighSpeed = 1
}
///
/// 超高调节方式
///
public enum SuperElevSet
{
///
/// 仅调节外轨
///
[Description("仅调节外轨")]
OneSide = 0,
///
/// 调节内外轨
///
[Description("调节内外轨")]
TwoSides = 1
}
///
/// 地点
///
public enum Location
{
///
/// 站台
///
[Description("站台")]
Platform = 0,
///
/// 区间
///
[Description("区间")]
Region = 1
}
///
/// 方向
///
public enum HorizonDirection
{
///
/// 左转
///
[Description("左转")]
Left = 0,
///
/// 右转
///
[Description("右转")]
Right = 1
}
///
/// 受流器状态
///
public enum CollectorStatus
{
///
/// 上受流切除向上
///
[Description("上受流切除向上")]
Upper = 0,
///
/// 下受流释放反弹量
///
[Description("下受流释放反弹量")]
Lower = 1
}
///
/// 枚举类的扩展类
///
public static class GetDesc
{
public static string GetDescription(this Enum obj)
{
return GetDescription(obj, false);
}
private static string GetDescription(this Enum obj, bool isTop)
{
//if (obj == null)
//{
// return string.Empty;
//}
try
{
Type _enumType = obj.GetType();
DescriptionAttribute dna = null;
if (isTop)
{
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(_enumType, typeof(DescriptionAttribute));
}
else
{
FieldInfo fi = _enumType.GetField(Enum.GetName(_enumType, obj));
dna = (DescriptionAttribute)Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute));
}
if (dna != null && string.IsNullOrEmpty(dna.Description) == false)
return dna.Description;
}
catch
{
return string.Empty;
}
return obj.ToString();
}
}
///
/// 超高设置
///
public enum SuperelevationSet
{
///
/// 仅调节外轨
///
[Description("仅调节外轨")]
Semi = 0,
///
/// 调节内外轨
///
[Description("调节内外轨")]
Full = 1,
}
}