private QuadEdge[] fetchTriangleToVisit(QuadEdge edge,Stack edgeStack,boolean includeFrame,Set visitedEdges){
  QuadEdge curr=edge;
  int edgeCount=0;
  boolean isFrame=false;
  do {
    triEdges[edgeCount]=curr;
    if (isFrameEdge(curr))     isFrame=true;
    QuadEdge sym=curr.sym();
    if (!visitedEdges.contains(sym))     edgeStack.push(sym);
    visitedEdges.add(curr);
    edgeCount++;
    curr=curr.lNext();
  }
 while (curr != edge);
  if (isFrame && !includeFrame)   return null;
  return triEdges;
}

private QuadEdge [ ] fetchTriangleToVisit ( QuadEdge edge , Stack edgeStack , boolean includeFrame , Set visitedEdges ) { QuadEdge curr = edge ; int edgeCount = 0 ; boolean isFrame = false ; do { triEdges [ edgeCount ] = curr ; if ( isFrameEdge ( curr ) ) isFrame = true ; QuadEdge sym = curr . sym ( ) ; if ( ! visitedEdges . contains ( sym ) ) edgeStack . push ( sym ) ; visitedEdges . add ( curr ) ; edgeCount ++ ; curr = curr . lNext ( ) ; } while ( curr != edge ) ; if ( isFrame && ! includeFrame ) return null ; return triEdges ; }
stores the edges for a visited triangle . also pushes sym ( neighbour ) edges on stack to visit later .
