Exemplo n.º 1
0
        public GePoint ClosestPointTo(GePoint point)
        {
            if (null == point) return null;

            GeLine Line = new GeLine(m_StartPoint, m_EndPoint);

            GePoint ClosePoint = Line.ClosestPointTo(point);

            if(Contains(ClosePoint))
            {
                return ClosePoint;
            }
            else
            {
                double P2S = point.DistanceTo(m_StartPoint);
                double P2E = point.DistanceTo(m_EndPoint);

                if (P2S < P2E)
                    return (GePoint)m_StartPoint.Clone();
                else
                    return (GePoint)m_EndPoint.Clone();
            }
        }