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); }
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); }