public bool TryToAddRib(Rib rib) { if (HasRib(rib)) { if (rib.End != Start.Name) { return(false); } } Ribs.Add(rib); return(true); }
public override bool Equals(object obj) { if ((obj == null) || !this.GetType().Equals(obj.GetType())) { return(false); } Rib toCompare = (Rib)obj; return((this.Start == toCompare.Start && this.End == toCompare.End) || (this.Start == toCompare.End && this.End == toCompare.Start)); }
private void GetCyclesForRib(Cycle cycle, Rib currentRib) { if (cycle.IsValid) { cycleCollection.TryToAddCycle(cycle); return; } Node nextNode = TraverseRib(currentRib); if (nextNode.Ribs == null || nextNode.Ribs.Count == 0) { return; } foreach (Rib rib in nextNode.Ribs) { Cycle currentCycle = cycle.Copy(); if (currentCycle.TryToAddRib(rib)) { GetCyclesForRib(currentCycle, rib); } } }
public bool HasRib(Rib rib) { return(Ribs.Contains(rib)); }
private Node TraverseRib(Rib rib) { return(GetNodeByName(rib.End)); }