/// <summary> /// This is used by the Delaunay triangulation code. /// </summary> /// <typeparam name="TVertex"></typeparam> /// <typeparam name="TFace"></typeparam> /// <param name="data"></param> /// <returns></returns> internal static List <ConvexFaceInternal> GetConvexFacesInternal <TVertex, TFace>(IEnumerable <TVertex> data) where TFace : ConvexFace <TVertex, TFace>, new() where TVertex : IVertex { ConvexHullInternal ch = new ConvexHullInternal(data.Cast <IVertex>()); ch.GetConvexHullInternal <TVertex>(true); return(ch.ConvexFaces); }
/// <summary> /// This is called by the "ConvexHull" class. /// </summary> /// <typeparam name="TVertex"></typeparam> /// <typeparam name="TFace"></typeparam> /// <param name="data"></param> /// <returns></returns> internal static Tuple <IEnumerable <TVertex>, IEnumerable <TFace> > GetConvexHullAndFaces <TVertex, TFace>(IEnumerable <IVertexPosition> data) where TFace : ConvexFace <TVertex, TFace>, new() where TVertex : IVertexPosition { ConvexHullInternal ch = new ConvexHullInternal(data); return(Tuple.Create( ch.GetConvexHullInternal <TVertex>(), ch.GetConvexFacesInternal <TVertex, TFace>())); }
/// <summary> /// This is called by the "ConvexHull" class. /// </summary> /// <typeparam name="TVertex"></typeparam> /// <typeparam name="TFace"></typeparam> /// <param name="data"></param> /// <returns></returns> internal static void GetConvexHullAndFaces <TVertex, TFace>(IEnumerable <IVertex> data, out IEnumerable <TVertex> points, out IEnumerable <TFace> faces) where TFace : ConvexFace <TVertex, TFace>, new() where TVertex : IVertex { ConvexHullInternal ch = new ConvexHullInternal(data); points = ch.GetConvexHullInternal <TVertex>(); faces = ch.GetConvexFacesInternal <TVertex, TFace>(); // return Tuple.Create( // ch.GetConvexHullInternal<TVertex>(), // ch.GetConvexFacesInternal<TVertex, TFace>()); }