/// <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("用来剪切的桥梁或隧道等结构物桩号位于区间之外"); } }
/// <summary> 返回此区间的前半段与后半段合并后的数据。此方法改变本实例的<seealso cref="BackValue"/>属性, /// 此后,<seealso cref="FrontValue"/> 中除了其 <seealso cref="HalfValue.EdgeStation"/> 属性外,其他的属性均无效。 </summary> /// <returns></returns> public HalfValue UnionBackFront() { BackValue.Merge(FrontValue); return(BackValue); }