19package denoptim.fragspace;
24import denoptim.graph.APMapping;
25import denoptim.graph.AttachmentPoint;
55 List<AttachmentPoint>> possibilities,
56 APMapping combination, List<APMapping> completeCombinations,
57 boolean screenAll,
int maxCombs)
59 boolean stopped =
false;
61 for (
int i=0; i<possibilities.get(apA).size(); i++)
70 if (combination.containsValue(apB))
75 if (apA !=
null && apB !=
null)
77 combination.put(apA,apB);
85 if (currentKey+1 < keys.size())
88 combination, completeCombinations, screenAll, maxCombs);
92 if (currentKey+1 == keys.size() && !combination.isEmpty())
95 completeCombinations.add(storable);
96 if (!screenAll && completeCombinations.size() >= maxCombs)
103 combination = priorCombination;
Utility class for the fragment space.
static boolean recursiveCombiner(List< AttachmentPoint > keys, int currentKey, Map< AttachmentPoint, List< AttachmentPoint > > possibilities, APMapping combination, List< APMapping > completeCombinations, boolean screenAll, int maxCombs)
Search for all possible combinations of compatible APs.
Class representing a mapping between attachment points (APs).
APMapping clone()
Shallow cloning.
An attachment point (AP) is a possibility to attach a Vertex onto the vertex holding the AP (i....