示例#1
0
        public static bool DoesBiarcExist(int x, int y, List <int> facesSizes, int limit)
        {
            var solving  = new RingSolving(x, y, facesSizes.ToArray(), limit);
            var solution = solving.ring;
            var graph    = new ArcGraph(RingSolving.CreateOuterBoundaryOfBiarc(x, y), "Birac" + x + "," + y, facesSizes);

            if (solution != null)
            {
                var reconstruction = new TriarcReconstruction(graph, solution);
                reconstruction.ReconstructTriarc();
                return(true);
            }
            return(false);
        }
示例#2
0
        public static bool DoesGeneralBoundaryExistAndConstruct(long boundary, List <int> facesSizes, string path = "")
        {
            var solving = new TriarcSolving(boundary.BoundaryToStandardizedForm(), facesSizes.ToArray());

            if (solving.SolveTriarc() != null)
            {
                var triarcGraph = new ArcGraph(boundary.BoundaryToStandardizedForm(), Convert.ToString(boundary, 16) + "{" + string.Join <string>(",", facesSizes.Select(i => i.ToString())) + "}", facesSizes);

                var reconstruction = new TriarcReconstruction(triarcGraph, solving.SolveTriarc(), path);

                reconstruction.ReconstructTriarc();
                return(true);
            }
            return(false);
        }