public override ICurve[] Split(double Position) { ICurve2D[] parts = curve2D.Split(Position); ICurve[] res = new ICurve[parts.Length]; for (int i = 0; i < parts.Length; i++) { res[i] = new SurfaceCurve(surface, parts[i]); } return(res); }