Files
MetroGauges-Old/MetroGauges/General/Prerequisite.cs
2026-02-23 17:02:55 +08:00

457 lines
10 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
{
/// <summary>
/// 竖曲线凹凸情况
/// </summary>
public enum Vertical
{
/// <summary>
/// 凸曲线
/// </summary>
[Description("凸曲线")]
Convex = 0,
/// <summary>
/// 凹曲线
/// </summary>
[Description("凹曲线")]
Concave = 1
}
/// <summary>
/// 车辆结构
/// </summary>
public enum Structure
{
/// <summary>
/// 整体焊接
/// </summary>
[Description("整体焊接")]
Integral = 0,
/// <summary>
/// 模块拼装
/// </summary>
[Description("模块拼装")]
Module = 1
}
/// <summary>
/// 计算断面位置
/// </summary>
public enum Pin
{
/// <summary>
/// 中心销内
/// </summary>
[Description("中心销内")]
Inside=0,
/// <summary>
/// 中心销外
/// </summary>
[Description("中心销外")]
Outside = 1
}
/// <summary>
/// 车辆轮廓控制点位置
/// </summary>
public enum PositionI
{
/// <summary>
/// 受电弓
/// </summary>
[Description("受电弓")]
Pantograph = 0,
/// <summary>
/// 车体
/// </summary>
[Description("车体")]
Body = 1,
/// <summary>
/// 转向架构架
/// </summary>
[Description("转向架构架")]
BogieFrame = 2,
/// <summary>
/// 簧下部分
/// </summary>
[Description("簧下部分")]
Unsprung = 3,
/// <summary>
/// 踏面
/// </summary>
[Description("踏面")]
Tread = 4,
/// <summary>
/// 轮缘
/// </summary>
[Description("轮缘")]
Rim = 5,
/// <summary>
/// 受流器
/// </summary>
[Description("受流器")]
Collector = 6,
/// <summary>
/// 其他
/// </summary>
[Description("不可用")]
INVAIL = 7
}
/// <summary>
/// 车辆限界控制点位置
/// </summary>
public enum PositionII
{
/// <summary>
/// 受电弓
/// </summary>
[Description("受电弓")]
Pantograph = 0,
/// <summary>
/// 车体顶部
/// </summary>
[Description("车体顶部")]
TopBody = 1,
/// <summary>
/// 车体底架边梁以上
/// </summary>
[Description("车体底架边梁以上")]
UpChassis = 2,
/// <summary>
/// 车体底架边梁及以下
/// </summary>
[Description("车体底架边梁及以下")]
LowChassis = 3,
/// <summary>
/// 转向架
/// </summary>
[Description("转向架")]
Bogie = 4,
/// <summary>
/// 车下吊挂
/// </summary>
[Description("车下轨内吊挂")]
InnerBodyHanger = 5,
/// <summary>
/// 车下吊挂
/// </summary>
[Description("车下轨外吊挂")]
OuterBodyHanger = 6,
/// <summary>
/// 轮缘
/// </summary>
[Description("轮对")]
Wheelset = 7,
///// <summary>
///// 车下轨内
///// </summary>
//[Description("车下轨内")]
//InnerOthers = 8,
///// <summary>
///// 车下轨内
///// </summary>
//[Description("车下轨内")]
//OuterOthers = 9,
/// <summary>
/// 无
/// </summary>
[Description("不可用")]
INVAIL = 10
}
/// <summary>
/// 工况
/// </summary>
public enum WorkCondition
{
/// <summary>
/// 空载
/// </summary>
[Description("空载")]
AW0 = 0,
/// <summary>
/// 座客荷载
/// </summary>
[Description("座客荷载")]
AW1 = 1,
/// <summary>
/// 定员荷载6人/m2
/// </summary>
[Description("定员荷载")]
AW2 = 2,
/// <summary>
/// 超员荷载9人/m2
/// </summary>
[Description("超员荷载")]
AW3 = 3
}
/// <summary>
/// 详细车型分类
/// </summary>
public enum DMetro
{
[Description("A1型车")]
A1 = 0,
[Description("A2型车")]
A2 = 1,
[Description("B1型车")]
B1 = 2,
[Description("B2型车")]
B2 = 3
}
/// <summary>
/// 通常车型分类
/// </summary>
public enum NMetro
{
[Description("A型车")]
A = 0,
[Description("B型车")]
B = 1
}
/// <summary>
/// 道床类型
/// </summary>
public enum Ballast
{
/// <summary>
/// 整体
/// </summary>
[Description("整体")]
Monolithic = 0,
/// <summary>
/// 碎石
/// </summary>
[Description("碎石")]
Gravel = 1
}
/// <summary>
/// 物理性质
/// </summary>
public enum Physics
{
/// <summary>
/// 柔性
/// </summary>
[Description("柔性")]
Flexibility = 0,
/// <summary>
/// 刚性
/// </summary>
[Description("刚性")]
Inflexibility = 1
}
/// <summary>
/// 线型
/// </summary>
public enum CurveType
{
/// <summary>
/// 直线
/// </summary>
[Description("直线")]
Straight = 0,
/// <summary>
/// 曲线
/// </summary>
[Description("曲线")]
Curve = 1
}
/// <summary>
/// 运行环境
/// </summary>
public enum Environment
{
/// <summary>
/// 隧道
/// </summary>
[Description("隧道")]
Tunnel = 0,
/// <summary>
/// 高架
/// </summary>
[Description("高架")]
Elevated = 1,
}
/// <summary>
/// 高架受电弓高度
/// </summary>
public enum ElvateHeight
{
/// <summary>
/// 高架4400mm
/// </summary>
[Description("高架4400mm")]
Elevated_4400 = 0,
/// <summary>
/// 高架5000mm
/// </summary>
[Description("高架5000mm")]
Elevated_5000 = 1
}
/// <summary>
/// 高低调节阀
/// </summary>
public enum HeightValve
{
/// <summary>
/// 两点高度阀
/// </summary>
[Description("两点高度阀")]
Two = 0,
/// <summary>
/// 三点高度阀
/// </summary>
[Description("三点高度阀")]
Three = 1,
/// <summary>
/// 四点高度阀
/// </summary>
[Description("四点高度阀")]
Four = 2
}
/// <summary>
/// 超高值
/// </summary>
public enum SuperEleValue
{
/// <summary>
/// 通常120mm
/// </summary>
[Description("120mm")]
Normal = 0,
/// <summary>
/// 时速120km/h150mm
/// </summary>
[Description("150mm")]
HighSpeed = 1
}
/// <summary>
/// 超高调节方式
/// </summary>
public enum SuperElevSet
{
/// <summary>
/// 仅调节外轨
/// </summary>
[Description("仅调节外轨")]
OneSide = 0,
/// <summary>
/// 调节内外轨
/// </summary>
[Description("调节内外轨")]
TwoSides = 1
}
/// <summary>
/// 地点
/// </summary>
public enum Location
{
/// <summary>
/// 站台
/// </summary>
[Description("站台")]
Platform = 0,
/// <summary>
/// 区间
/// </summary>
[Description("区间")]
Region = 1
}
/// <summary>
/// 方向
/// </summary>
public enum HorizonDirection
{
/// <summary>
/// 左转
/// </summary>
[Description("左转")]
Left = 0,
/// <summary>
/// 右转
/// </summary>
[Description("右转")]
Right = 1
}
/// <summary>
/// 受流器状态
/// </summary>
public enum CollectorStatus
{
/// <summary>
/// 上受流切除向上
/// </summary>
[Description("上受流切除向上")]
Upper = 0,
/// <summary>
/// 下受流释放反弹量
/// </summary>
[Description("下受流释放反弹量")]
Lower = 1
}
/// <summary>
/// 枚举类的扩展类
/// </summary>
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();
}
}
/// <summary>
/// 超高设置
/// </summary>
public enum SuperelevationSet
{
/// <summary>
/// 仅调节外轨
/// </summary>
[Description("仅调节外轨")]
Semi = 0,
/// <summary>
/// 调节内外轨
/// </summary>
[Description("调节内外轨")]
Full = 1,
}
}