diff options
| author | mjwybrow <mjwybrow@users.sourceforge.net> | 2006-03-01 01:48:07 +0000 |
|---|---|---|
| committer | mjwybrow <mjwybrow@users.sourceforge.net> | 2006-03-01 01:48:07 +0000 |
| commit | 3ffd21aa6e7c4cf44633f3e1d583097007b3fb80 (patch) | |
| tree | af77c05c53712821d9bb4011f8d168963159aa82 /src/libavoid/graph.cpp | |
| parent | Add some items from Peter Selinger's patch to Potrace 1.7 (diff) | |
| download | inkscape-3ffd21aa6e7c4cf44633f3e1d583097007b3fb80.tar.gz inkscape-3ffd21aa6e7c4cf44633f3e1d583097007b3fb80.zip | |
* 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)
Diffstat (limited to '')
| -rw-r--r-- | src/libavoid/graph.cpp | 39 |
1 files changed, 6 insertions, 33 deletions
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; } |
