Gui: DAGView: adding check for App::DocumentObject
This commit is contained in:
@@ -479,6 +479,8 @@ void Model::updateSlot()
|
||||
std::vector<App::DocumentObject *> otherDObjects = currentDObject->getOutList();
|
||||
for (auto ¤tOtherDObject : otherDObjects)
|
||||
{
|
||||
if (!hasRecord(currentOtherDObject, *graphLink))
|
||||
continue;
|
||||
Vertex otherVertex = findRecord(currentOtherDObject, *graphLink).vertex;
|
||||
bool result;
|
||||
Edge edge;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user