Ejemplo n.º 1
0
 /// <summary> 用桥梁或隧道的结构物来剪切对应的区间值 </summary>
 /// <param name="blockStation">桥梁或者隧道等结构物的起始(末端)桩号</param>
 public virtual void Cut(double blockStation)
 {
     if (FrontValue.EdgeStation < blockStation)
     {
         FrontValue.CutByBlock(blockStation);
         FrontValue.EdgeStation = blockStation;
     }
     else if (BackValue.EdgeStation > blockStation)
     {
         BackValue.CutByBlock(blockStation);
         BackValue.EdgeStation = blockStation;
     }
     else
     {
         throw new InvalidOperationException("用来剪切的桥梁或隧道等结构物桩号位于区间之外");
     }
 }
Ejemplo n.º 2
0
 /// <summary> 返回此区间的前半段与后半段合并后的数据。此方法改变本实例的<seealso cref="BackValue"/>属性,
 /// 此后,<seealso cref="FrontValue"/> 中除了其 <seealso cref="HalfValue.EdgeStation"/> 属性外,其他的属性均无效。 </summary>
 /// <returns></returns>
 public HalfValue UnionBackFront()
 {
     BackValue.Merge(FrontValue);
     return(BackValue);
 }