diff --git a/testHasttable/disconnector.cpp b/testHasttable/disconnector.cpp index f8f615a..454b168 100644 --- a/testHasttable/disconnector.cpp +++ b/testHasttable/disconnector.cpp @@ -54,6 +54,11 @@ bool Disconnector::parse(QXmlStreamReader &reader) return this->parseBasicInfo(reader); } +QString Disconnector::getEquipmentMemberOf_EquipmentContainer() +{ + return this->equipmentContainer; +} + QString Disconnector::getNamingDescription() { return this->namingDescription; diff --git a/testHasttable/disconnector.h b/testHasttable/disconnector.h index 5f7901e..ffcb636 100644 --- a/testHasttable/disconnector.h +++ b/testHasttable/disconnector.h @@ -7,6 +7,7 @@ class Disconnector:public BasicElementInfo public: explicit Disconnector(QObject *parent = 0); virtual bool parse(QXmlStreamReader& reader); + QString getEquipmentMemberOf_EquipmentContainer(); QString getNamingDescription(); bool getOpenState(); QString getTerminalA(); diff --git a/testHasttable/elementhashtable.cpp b/testHasttable/elementhashtable.cpp index 261ba1f..6ea3f0a 100644 --- a/testHasttable/elementhashtable.cpp +++ b/testHasttable/elementhashtable.cpp @@ -47,11 +47,11 @@ bool ElementHashtable::child(QXmlStreamReader &reader) // pointer=new Compensator(this); // pointer->parse(reader); // } -// if(elementName=="Disconnector") -// { -// pointer=new Disconnector(this); -// pointer->parse(reader); -// } + if(elementName=="Disconnector") + { + pointer=new Disconnector(this); + pointer->parse(reader); + } if(elementName=="PowerTransformer") { pointer=new PowerTransformer(this); diff --git a/testHasttable/topologyrecorder.cpp b/testHasttable/topologyrecorder.cpp index 6437254..b178511 100644 --- a/testHasttable/topologyrecorder.cpp +++ b/testHasttable/topologyrecorder.cpp @@ -9,6 +9,22 @@ TopologyRecorder::~TopologyRecorder() std::cout<<"total tf"<tfs.length()< &ht=this->eleHT; + Substation *sfd=static_cast(ht[substatinID]); + if(sfd==NULL) + { + std::cout<<"can not find"<getSubstationMemberOf_Feeder(); + return feederID=="FD-2023"; + } + return false; +} + bool TopologyRecorder::startWithNode(const QString& node) { if(node=="") @@ -60,9 +76,10 @@ bool TopologyRecorder::startWithNode(const QString& node) BasicElementInfo *bi=ht[ce]; if(bi!=NULL) { - std::cout<getName().toStdString()<getName()=="Breaker") { + std::cout<getName().toStdString()<getName()=="Disconnector") { + std::cout<getName().toStdString()<(ht[disConID]); + //先判断一下是不是需要的Disconnector + QString container=Dis->getEquipmentMemberOf_EquipmentContainer(); + if(!this->isEquipmentNeeded(container)) + { + continue; + } fromTo.first=node; fromTo.second=disConID; - Disconnector *Dis=static_cast(ht[disConID]); if(!Dis) { // std::cout<<"can not SW "<getEquipmentMemberOf_EquipmentContainer(); - Substation *sfd=static_cast(ht[equipmentContainer]); - if(sfd==NULL) + if(this->isEquipmentNeeded(equipmentContainer)) { - std::cout<<"can not find"<tfs.push_back(tf->getNamingDescription()); } else { - QString feederID=sfd->getSubstationMemberOf_Feeder(); - if(feederID!="FD-2023") - { - std::cout<getNamingDescription().toStdString()<<"not belong"<tfs.push_back(tf->getNamingDescription()); - } + std::cout<getNamingDescription().toStdString()<<"not belong"< > branch; QHash reachedTerminal; QVector tfs; + bool isEquipmentNeeded(const QString& substatinID); }; #endif // TOPOLOGYRECORDER_H