/// <summary> /// Gets the neighbours of this triangle. If there is no neighbour triangle, the array element is /// <code>null</code> /// </summary> /// <returns>an array containing the 3 neighbours of this triangle</returns> public QuadEdgeTriangle[] GetNeighbours() { var neigh = new QuadEdgeTriangle[3]; for (int i = 0; i < 3; i++) { neigh[i] = (QuadEdgeTriangle)GetEdge(i).Sym.Data; } return(neigh); }
private void Process(QuadEdgeTriangle currTri, ITraversalVisitor visitor) { currTri.GetNeighbours(); for (int i = 0; i < 3; i++) { var neighTri = (QuadEdgeTriangle)currTri.GetEdge(i).Sym.Data; if (neighTri == null) { continue; } if (visitor.Visit(currTri, i, neighTri)) { _triQueue.AddLast(neighTri); } } }
public void Init(QuadEdgeTriangle tri) { _triQueue.AddLast(tri); }