/// <summary>
 ///
 /// </summary>
 /// <param name="points"></param>
 /// <param name="indexMap"></param>
 /// <param name="tolerance"></param>
 /// <returns></returns>
 public static List <Vector3d> RemoveCoincident(this IEnumerable <Vector3d> points, out List <int> indexMap, double tolerance = D.ZeroTolerance)
 {
     return(Proximity.RemoveCoincident(points, p => p, out indexMap, tolerance));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="points"></param>
 /// <param name="tolerance"></param>
 /// <returns></returns>
 public static IEnumerable <Vector3d> RemoveCoincident(this IEnumerable <Vector3d> points, double tolerance = D.ZeroTolerance)
 {
     return(Proximity.RemoveCoincident(points, p => p, tolerance));
 }