public static bool TryGetRound(DesignFace designFace, out Round round) { round = null; if (designFaceToRound.TryGetValue(designFace, out round)) return true; return false; }
public void AddAdjacentRound(Round round) { Debug.Assert(round != this); adjacentRounds[round] = 0; }
static void AddRound(DesignFace designFace, List<Round> roundSet, List<DesignFace> remainingFaces, Queue<DesignEdge> edgesToVisit) { remainingFaces.Remove(designFace); Round round = new Round(designFace); roundSet.Add(round); DesignFace otherFace = null; Round otherRound = null; foreach (DesignEdge newEdge in designFace.Edges) { edgesToVisit.Enqueue(newEdge); if (AddInHelper.TryGetAdjacentDesignFace(designFace, newEdge, out otherFace) && Round.TryGetRound(otherFace, out otherRound)) { round.AddAdjacentRound(otherRound); otherRound.AddAdjacentRound(round); } } }