/// <inheritdoc cref="ICoordinateSequenceFilter.Filter"/>
            public void Filter(CoordinateSequence seq, int index)
            {
                /*
                 * This logic also handles skipping Point geometries
                 */
                if (index < 1)
                {
                    return;
                }

                var p0 = seq.GetCoordinate(index - 1);
                var p1 = seq.GetCoordinate(index);

                double delx = (p1.X - p0.X) / _numSubSegs;
                double dely = (p1.Y - p0.Y) / _numSubSegs;

                for (int i = 0; i < _numSubSegs; i++)
                {
                    double x         = p0.X + i * delx;
                    double y         = p0.Y + i * dely;
                    var    pt        = new Coordinate(x, y);
                    var    minPtDist = new PointPairDistance();
                    DistanceToPoint.ComputeDistance(_geom, pt, minPtDist);
                    _maxPtDist.SetMaximum(minPtDist);
                }
            }
            /// <inheritdoc cref="ICoordinateFilter.Filter"/>
            public void Filter(Coordinate pt)
            {
                var minPtDist = new PointPairDistance();

                DistanceToPoint.ComputeDistance(_geom, pt, minPtDist);
                _maxPtDist.SetMaximum(minPtDist);
            }
 public void Filter(Coordinate pt)
 {
     _minPtDist.Initialize();
     DistanceToPoint.ComputeDistance(_geom, pt, _minPtDist);
     _maxPtDist.SetMaximum(_minPtDist);
 }