summaryrefslogtreecommitdiffstats
path: root/src/libavoid/graph.cpp
diff options
context:
space:
mode:
authormjwybrow <mjwybrow@users.sourceforge.net>2006-03-01 01:48:07 +0000
committermjwybrow <mjwybrow@users.sourceforge.net>2006-03-01 01:48:07 +0000
commit3ffd21aa6e7c4cf44633f3e1d583097007b3fb80 (patch)
treeaf77c05c53712821d9bb4011f8d168963159aa82 /src/libavoid/graph.cpp
parentAdd some items from Peter Selinger's patch to Potrace 1.7 (diff)
downloadinkscape-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.cpp39
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;
}