public static bool a_star_in_composition(Intarray inputs, Intarray vertices1, Intarray vertices2, Intarray outputs, Floatarray costs, OcroFST fst1, OcroFST fst2) { CompositionFst composition = FstFactory.MakeCompositionFst(fst1, fst2); bool result; try { //Floatarray g1 = new Floatarray(); //Floatarray g2 = new Floatarray(); fst1.CalculateHeuristics(); fst2.CalculateHeuristics(); result = a_star2_internal(inputs, vertices1, vertices2, outputs, costs, fst1, fst2, fst1.Heuristics(), fst2.Heuristics(), composition); } catch (Exception ex) { composition.Move1(); composition.Move2(); throw ex; } composition.Move1(); composition.Move2(); return(result); }
public static bool a_star_in_composition(Intarray inputs, Intarray vertices1, Intarray vertices2, Intarray outputs, Floatarray costs, OcroFST fst1, OcroFST fst2) { CompositionFst composition = FstFactory.MakeCompositionFst(fst1, fst2); bool result; try { //Floatarray g1 = new Floatarray(); //Floatarray g2 = new Floatarray(); fst1.CalculateHeuristics(); fst2.CalculateHeuristics(); result = a_star2_internal(inputs, vertices1, vertices2, outputs, costs, fst1, fst2, fst1.Heuristics(), fst2.Heuristics(), composition); } catch (Exception ex) { composition.Move1(); composition.Move2(); throw ex; } composition.Move1(); composition.Move2(); return result; }