コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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>()));
        }
コード例 #3
0
        /// <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>());
        }