Example #1
0
        /// <summary>
        /// Returns closes point from given input point for provided point list.
        /// </summary>
        private Point3D GetClosestPoint(Point3D point3D, Point3D[] intersetionPoints)
        {
            double  minsquaredDist = Double.MaxValue;
            Point3D result         = null;

            foreach (Point3D pt in intersetionPoints)
            {
                double distSquared = Point3D.DistanceSquared(point3D, pt);
                if (distSquared < minsquaredDist && !point3D.Equals(pt))
                {
                    minsquaredDist = distSquared;
                    result         = pt;
                }
            }
            return(result);
        }