Lines Matching defs:edge
136 // Effectively the same visibility edge, so they are equal.
350 db_printf("\tChecking visibility for existing invisibility edge..."
356 db_printf("\tChecking visibility for existing visibility edge..."
389 // Don't even check this edge, it should be zero,
413 // Don't even check this edge, it should be zero,
423 // if i and j see each other, add edge
424 db_printf("\tSetting visibility edge... \n\t\t");
441 // if i and j can't see each other, add blank edge
442 db_printf("\tSetting invisibility edge... \n\t\t");
524 // Returns true if this edge is a vertical or horizontal line segment.
552 EdgeInf *edge = NULL;
557 edge = new EdgeInf(i, j);
561 edge = existingEdge(i, j);
562 if (edge == NULL)
564 edge = new EdgeInf(i, j);
567 edge->checkVis();
568 if (!(edge->_added) && !(router->InvisibilityGrph))
570 delete edge;
571 edge = NULL;
574 return edge;
588 for (EdgeInfList::const_iterator edge = visList.begin(); edge != finish;
589 ++edge)
591 if ((*edge)->isBetween(i, j))
593 return (*edge);
601 for (EdgeInfList::const_iterator edge = orthogVisList.begin();
602 edge != finish; ++edge)
604 if ((*edge)->isBetween(i, j))
606 return (*edge);
614 for (EdgeInfList::const_iterator edge = invisList.begin(); edge != finish;
615 ++edge)
617 if ((*edge)->isBetween(i, j))
619 return (*edge);
662 void EdgeList::addEdge(EdgeInf *edge)
664 COLA_ASSERT(!_orthogonal || edge->isOrthogonal());
670 _lastEdge = edge;
671 _firstEdge = edge;
673 edge->lstPrev = NULL;
674 edge->lstNext = NULL;
680 _lastEdge->lstNext = edge;
681 edge->lstPrev = _lastEdge;
683 _lastEdge = edge;
685 edge->lstNext = NULL;
691 void EdgeList::removeEdge(EdgeInf *edge)
693 if (edge->lstPrev)
695 edge->lstPrev->lstNext = edge->lstNext;
697 if (edge->lstNext)
699 edge->lstNext->lstPrev = edge->lstPrev;
701 if (edge == _lastEdge)
703 _lastEdge = edge->lstPrev;
704 if (edge == _firstEdge)
709 else if (edge == _firstEdge)
711 _firstEdge = edge->lstNext;
715 edge->lstPrev = NULL;
716 edge->lstNext = NULL;