summaryrefslogtreecommitdiffstats
path: root/src/libavoid/graph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libavoid/graph.cpp')
-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;
}