Gui: DAGView: adding check for App::DocumentObject

This commit is contained in:
blobfish 2016-12-11 16:20:16 -05:00 committed by wmayer
parent 92db556a3e
commit 8ccbff951b
3 changed files with 11 additions and 0 deletions

View File

@ -479,6 +479,8 @@ void Model::updateSlot()
std::vector<App::DocumentObject *> otherDObjects = currentDObject->getOutList();
for (auto &currentOtherDObject : otherDObjects)
{
if (!hasRecord(currentOtherDObject, *graphLink))
continue;
Vertex otherVertex = findRecord(currentOtherDObject, *graphLink).vertex;
bool result;
Edge edge;

View File

@ -57,6 +57,14 @@ EdgeProperty::EdgeProperty() : relation(BranchTag::None)
}
bool Gui::DAG::hasRecord(const App::DocumentObject* dObjectIn, const GraphLinkContainer &containerIn)
{
typedef GraphLinkContainer::index<GraphLinkRecord::ByDObject>::type List;
const List &list = containerIn.get<GraphLinkRecord::ByDObject>();
List::const_iterator it = list.find(dObjectIn);
return it != list.end();
}
const GraphLinkRecord& Gui::DAG::findRecord(Vertex vertexIn, const GraphLinkContainer &containerIn)
{
typedef GraphLinkContainer::index<GraphLinkRecord::ByVertex>::type List;

View File

@ -280,6 +280,7 @@ namespace Gui
>
> GraphLinkContainer;
bool hasRecord(const App::DocumentObject* dObjectIn, const GraphLinkContainer &containerIn);
const GraphLinkRecord& findRecord(Vertex vertexIn, const GraphLinkContainer &containerIn);
const GraphLinkRecord& findRecord(const App::DocumentObject* dObjectIn, const GraphLinkContainer &containerIn);
const GraphLinkRecord& findRecord(const Gui::ViewProviderDocumentObject* VPDObjectIn, const GraphLinkContainer &containerIn);