diff --git a/testHasttable/topologyrecorder.cpp b/testHasttable/topologyrecorder.cpp index 972079e..345fce3 100644 --- a/testHasttable/topologyrecorder.cpp +++ b/testHasttable/topologyrecorder.cpp @@ -99,8 +99,8 @@ bool TopologyRecorder::startWithNode(const QString& node) if(ce.startsWith("AC")) { QString acID=ce; - fromTo.first=node; - fromTo.second=acID; +// fromTo.first=node; +// fromTo.second=acID; ACLineSegment *AC=static_cast(ht[acID]); if(!AC) { @@ -121,8 +121,8 @@ bool TopologyRecorder::startWithNode(const QString& node) { // std::cout<getName().toStdString()<(ht[swID]); if(!SW) { @@ -155,8 +155,8 @@ bool TopologyRecorder::startWithNode(const QString& node) // std::cout<<"Dissw not belong "<isEquipmentNeeded(equipmentContainer)) { this->tfs.push_back(tfID); - fromTo.first=node; - fromTo.second=tfID; +// fromTo.first=node; +// fromTo.second=tfID; foundEle=tf; } else @@ -237,14 +237,24 @@ bool TopologyRecorder::startWithNode(const QString& node) if(foundEle) { Branch *branch=NULL; + QString nextTerminal; + nextTerminal=(terminalA==anotherTerminal)?terminalB:terminalA; + Terminal *nextTerminalP=static_cast(ht[nextTerminal]); + if(!nextTerminalP) + { + continue; + } + //有可能会访问到重复的元件,所以这里判断一下,如果是已经访问过的就不添加了。 + if(this->hasAdded.contains(foundEle->getID())) + { + continue; + } + this->hasAdded[foundEle->getID()]=0; + QString nextNode=nextTerminalP->getConnectivityNode(); + fromTo.first=node; + fromTo.second=nextNode; switch(typ) { - //有可能会访问到重复的元件,所以这里判断一下,如果是已经访问过的就不添加了。 - if(this->hasAdded.contains(foundEle->getID())) - { - continue; - } - this->hasAdded[foundEle->getID()]=0; case TopologyRecorder::Type::AC: branch=new Line(fromTo,static_cast(foundEle),this); this->cimExporter.add(fromTo,static_cast(branch)); @@ -264,14 +274,7 @@ bool TopologyRecorder::startWithNode(const QString& node) default: break; } - QString nextTerminal; - nextTerminal=(terminalA==anotherTerminal)?terminalB:terminalA; - Terminal *nextTerminalP=static_cast(ht[nextTerminal]); - if(!nextTerminalP) - { - continue; - } - QString nextNode=nextTerminalP->getConnectivityNode(); + this->startWithNode(nextNode); } else