From 3ffd21aa6e7c4cf44633f3e1d583097007b3fb80 Mon Sep 17 00:00:00 2001 From: mjwybrow Date: Wed, 1 Mar 2006 01:48:07 +0000 Subject: * src/conn-avoid-ref.cpp, src/libavoid/connector.h, src/libavoid/shape.cpp, src/libavoid/graph.cpp, src/libavoid/shape.h, src/libavoid/graph.h, src/libavoid/router.cpp, src/libavoid/router.h, src/libavoid/connector.cpp, src/libavoid/debug.h: Some speed improvements and interface cleanups to libavoid. (bzr r192) --- src/libavoid/graph.cpp | 39 ++++++--------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) (limited to 'src/libavoid/graph.cpp') diff --git a/src/libavoid/graph.cpp b/src/libavoid/graph.cpp index 5e41f79f5..c8f061f6a 100644 --- a/src/libavoid/graph.cpp +++ b/src/libavoid/graph.cpp @@ -37,6 +37,7 @@ namespace Avoid { EdgeInf::EdgeInf(VertInf *v1, VertInf *v2) : lstPrev(NULL) , lstNext(NULL) + , _blocker(0) , _router(NULL) , _added(false) , _visible(false) @@ -51,7 +52,6 @@ EdgeInf::EdgeInf(VertInf *v1, VertInf *v2) assert(_v1->_router == _v2->_router); _router = _v1->_router; - _blockers.clear(); _conns.clear(); } @@ -109,18 +109,12 @@ void EdgeInf::makeInactive(void) _v2->invisList.erase(_pos2); _v2->invisListSize--; } - _blockers.clear(); + _blocker = 0; _conns.clear(); _added = false; } -double EdgeInf::getDist(void) -{ - return _dist; -} - - void EdgeInf::setDist(double dist) { //assert(dist != 0); @@ -135,13 +129,14 @@ void EdgeInf::setDist(double dist) makeActive(); } _dist = dist; - _blockers.clear(); + _blocker = 0; } void EdgeInf::alertConns(void) { - for (FlagList::iterator i = _conns.begin(); i != _conns.end(); ++i) + FlagList::iterator finish = _conns.end(); + for (FlagList::iterator i = _conns.begin(); i != finish; ++i) { *(*i) = true; } @@ -176,29 +171,7 @@ void EdgeInf::addBlocker(int b) makeActive(); } _dist = 0; - _blockers.clear(); - _blockers.push_back(b); -} - - -bool EdgeInf::hasBlocker(int b) -{ - assert(_router->InvisibilityGrph); - - ShapeList::iterator finish = _blockers.end(); - for (ShapeList::iterator it = _blockers.begin(); it != finish; ++it) - { - if ((*it) == -1) - { - alertConns(); - return true; - } - else if ((*it) == b) - { - return true; - } - } - return false; + _blocker = b; } -- cgit v1.2.3