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