private void AddStripEdges(LineStrip <T, TK> strip, TK newEdge) { Edges.Add(newEdge); foreach (var edge in strip.Edges) { Edges.Add(edge); } }
public void AppendLineStripToStart(LineStrip <T, TK> strip, TK edge) { AddStripEdges(strip, edge); Elements.First.Value.Elements.Add(edge); strip.Elements.First.Value.Elements.Add(edge); foreach (var vertex in strip.Elements) { AppendToStart(vertex); } }
public void AppendLineStripToStartReverse(LineStrip <T, TK> strip, TK edge) { AddStripEdges(strip, edge); var current = strip.Elements.Last; current.Value.Elements.Add(edge); Elements.First.Value.Elements.Add(edge); while (current != null) { AppendToStart(current.Value); current = current.Previous; } }