fixed GraphView blue referential color

This commit is contained in:
Mathieu Labbe
2015-01-30 17:19:51 -05:00
parent d97ae60e6c
commit 2872387d4c
+22 -45
View File
@@ -474,14 +474,9 @@ void GraphViewer::setWorkingDirectory(const QString & path)
void GraphViewer::setNodeRadius(float radius) void GraphViewer::setNodeRadius(float radius)
{ {
_nodeRadius = radius; _nodeRadius = radius;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMap<int, NodeItem*>::iterator iter=_nodeItems.begin(); iter!=_nodeItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
NodeItem * node = qgraphicsitem_cast<NodeItem *>(items[i]); iter.value()->setRect(-_nodeRadius, -_nodeRadius, _nodeRadius*2.0f, _nodeRadius*2.0f);
if(node)
{
node->setRect(-_nodeRadius, -_nodeRadius, _nodeRadius*2.0f, _nodeRadius*2.0f);
}
} }
} }
void GraphViewer::setLinkWidth(float width) void GraphViewer::setLinkWidth(float width)
@@ -502,82 +497,64 @@ void GraphViewer::setLinkWidth(float width)
void GraphViewer::setNodeColor(const QColor & color) void GraphViewer::setNodeColor(const QColor & color)
{ {
_nodeColor = color; _nodeColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMap<int, NodeItem*>::iterator iter=_nodeItems.begin(); iter!=_nodeItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
NodeItem * node = qgraphicsitem_cast<NodeItem *>(items[i]); iter.value()->setColor(_nodeColor);
if(node)
{
node->setColor(_nodeColor);
}
} }
} }
void GraphViewer::setNeighborColor(const QColor & color) void GraphViewer::setNeighborColor(const QColor & color)
{ {
_neighborColor = color; _neighborColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMultiMap<int, LinkItem*>::iterator iter=_neighborLinkItems.begin(); iter!=_neighborLinkItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
LinkItem * link = qgraphicsitem_cast<LinkItem *>(items[i]); iter.value()->setColor(_neighborColor);
if(link && link->linkType() == Link::kNeighbor)
{
link->setColor(_neighborColor);
}
} }
} }
void GraphViewer::setGlobalLoopClosureColor(const QColor & color) void GraphViewer::setGlobalLoopClosureColor(const QColor & color)
{ {
_loopClosureColor = color; _loopClosureColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMultiMap<int, LinkItem*>::iterator iter=_loopLinkItems.begin(); iter!=_loopLinkItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
LinkItem * link = qgraphicsitem_cast<LinkItem *>(items[i]); if(iter.value()->linkType() != Link::kLocalSpaceClosure &&
if(link && (link->linkType() != Link::kNeighbor && iter.value()->linkType() != Link::kLocalTimeClosure &&
link->linkType() != Link::kLocalSpaceClosure && iter.value()->linkType() != Link::kUserClosure &&
link->linkType() != Link::kLocalTimeClosure && iter.value()->linkType() != Link::kVirtualClosure)
link->linkType() != Link::kUserClosure &&
link->linkType() != Link::kVirtualClosure))
{ {
link->setColor(_loopClosureColor); iter.value()->setColor(_loopClosureColor);
} }
} }
} }
void GraphViewer::setLocalLoopClosureColor(const QColor & color) void GraphViewer::setLocalLoopClosureColor(const QColor & color)
{ {
_loopClosureLocalColor = color; _loopClosureLocalColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMultiMap<int, LinkItem*>::iterator iter=_loopLinkItems.begin(); iter!=_loopLinkItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
LinkItem * link = qgraphicsitem_cast<LinkItem *>(items[i]); if(iter.value()->linkType() == Link::kLocalSpaceClosure ||
if(link && (link->linkType() == Link::kLocalSpaceClosure || link->linkType() == Link::kLocalSpaceClosure)) iter.value()->linkType() == Link::kLocalTimeClosure)
{ {
link->setColor(_loopClosureLocalColor); iter.value()->setColor(_loopClosureLocalColor);
} }
} }
} }
void GraphViewer::setUserLoopClosureColor(const QColor & color) void GraphViewer::setUserLoopClosureColor(const QColor & color)
{ {
_loopClosureUserColor = color; _loopClosureUserColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMultiMap<int, LinkItem*>::iterator iter=_loopLinkItems.begin(); iter!=_loopLinkItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
LinkItem * link = qgraphicsitem_cast<LinkItem *>(items[i]); if(iter.value()->linkType() == Link::kUserClosure)
if(link && link->linkType() == Link::kUserClosure)
{ {
link->setColor(_loopClosureUserColor); iter.value()->setColor(_loopClosureUserColor);
} }
} }
} }
void GraphViewer::setVirtualLoopClosureColor(const QColor & color) void GraphViewer::setVirtualLoopClosureColor(const QColor & color)
{ {
_loopClosureVirtualColor = color; _loopClosureVirtualColor = color;
QList<QGraphicsItem*> items = this->scene()->items(); for(QMultiMap<int, LinkItem*>::iterator iter=_loopLinkItems.begin(); iter!=_loopLinkItems.end(); ++iter)
for(int i=0; i<items.size(); ++i)
{ {
LinkItem * link = qgraphicsitem_cast<LinkItem *>(items[i]); if(iter.value()->linkType() == Link::kVirtualClosure)
if(link && link->linkType() == Link::kVirtualClosure)
{ {
link->setColor(_loopClosureVirtualColor); iter.value()->setColor(_loopClosureVirtualColor);
} }
} }
} }