Пример #1
0
        public void CanGetSubcurveWithNaNRange()
        {
            var polyline = (IPolyline)CurveConstruction.StartLine(CreatePoint(0, 0, 100))
                           .LineTo(CreatePoint(100, 0, 200))
                           .Curve;

            polyline.SpatialReference = CreateSpatialReference(_mTolerance, _xyTolerance);
            GeometryUtils.MakeMAware(polyline);

            IList <IPoint> points;
            IPolyline      subcurves = MeasureUtils.GetSubcurves(polyline, 150, double.NaN,
                                                                 out points);

            Console.WriteLine(GeometryUtils.ToString(subcurves));

            Assert.IsNull(subcurves);
            Assert.AreEqual(1, points.Count);
        }
Пример #2
0
        public void CanGetLinearSubcurveLargerThanTolerance()
        {
            var polyline = (IPolyline)CurveConstruction.StartLine(CreatePoint(0, 0, 100))
                           .LineTo(CreatePoint(100, 0, 200))
                           .Curve;

            polyline.SpatialReference = CreateSpatialReference(_mTolerance, _xyTolerance);
            GeometryUtils.MakeMAware(polyline);

            IList <IPoint> points;
            IPolyline      subcurves = MeasureUtils.GetSubcurves(polyline, 150,
                                                                 150 + (_mTolerance * 2), out points);

            Console.WriteLine(GeometryUtils.ToString(subcurves));

            Assert.IsNotNull(subcurves);
            Assert.AreEqual(0.020000000000010232, subcurves.Length);
            Assert.AreEqual(0, points.Count);
        }
Пример #3
0
        public void CanGetOvershootingLinearSubcurveSmallerThanTolerance()
        {
            var polyline = (IPolyline)CurveConstruction.StartLine(CreatePoint(0, 0, 100))
                           .LineTo(CreatePoint(100, 0, 200))
                           .Curve;

            polyline.SpatialReference = CreateSpatialReference(_mTolerance, _xyTolerance);
            GeometryUtils.MakeMAware(polyline);

            IList <IPoint> points;
            IPolyline      subcurves = MeasureUtils.GetSubcurves(polyline, 200, 300,
                                                                 out points);

            Console.WriteLine(GeometryUtils.ToString(subcurves));

            Assert.IsNull(subcurves);
            Assert.AreEqual(1, points.Count);
            Assert.AreEqual(100, points[0].X);
            Assert.AreEqual(0, points[0].Y);
        }