diff --git a/testHasttable/elementhashtable.cpp b/testHasttable/elementhashtable.cpp index 42c27a8..ee82c01 100644 --- a/testHasttable/elementhashtable.cpp +++ b/testHasttable/elementhashtable.cpp @@ -37,6 +37,11 @@ bool ElementHashtable::child(QXmlStreamReader &reader) pointer=new Breaker(this); pointer->parse(reader); } + if(elementName=="Substation") + { + pointer=new Substation(this); + pointer->parse(reader); + } // if(elementName=="Compensator") // { // pointer=new Compensator(this); @@ -80,7 +85,7 @@ bool ElementHashtable::GoPath() // if(p->getName()=="ACLineSegment"){ // std::cout<getID().toStdString()<getName()=="ACLineSegment" && p->getID()=="AC-456491") + if(p->getName()=="ACLineSegment" && p->getID()=="AC-671400") { ACLineSegment *ac=static_cast(p);//BusbarSection也就是线路头节点 QString acTerminal=ac->getTerminalB(); diff --git a/testHasttable/powertransformer.cpp b/testHasttable/powertransformer.cpp index cba4ae4..c3cc5b1 100644 --- a/testHasttable/powertransformer.cpp +++ b/testHasttable/powertransformer.cpp @@ -36,11 +36,18 @@ bool PowerTransformer::derivedParse(QXmlStreamReader &reader) return true; } +QString PowerTransformer::getEquipmentMemberOf_EquipmentContainer() +{ + return this->equipmentContainer; +} + QString PowerTransformer::getNamingDescription() { return this->namingDescription; } + + bool PowerTransformer::parse(QXmlStreamReader &reader) { return this->parseBasicInfo(reader); diff --git a/testHasttable/powertransformer.h b/testHasttable/powertransformer.h index 05e861c..72cf3e6 100644 --- a/testHasttable/powertransformer.h +++ b/testHasttable/powertransformer.h @@ -8,6 +8,7 @@ public: explicit PowerTransformer(QObject *parent = 0); virtual bool parse(QXmlStreamReader& reader); QString getNamingDescription(); + QString getEquipmentMemberOf_EquipmentContainer(); protected: QString terminalA; QString terminalB; @@ -16,6 +17,7 @@ protected: virtual bool derivedParse(QXmlStreamReader& reader); private: bool isTerminalA; +// QString equipmentMemberOf_EquipmentContainer; }; #endif // POWERTRANSFORMER_H diff --git a/testHasttable/substation.cpp b/testHasttable/substation.cpp index f190120..4480e39 100644 --- a/testHasttable/substation.cpp +++ b/testHasttable/substation.cpp @@ -23,3 +23,9 @@ bool Substation::derivedParse(QXmlStreamReader& reader) } return true; } + + +QString Substation::getSubstationMemberOf_Feeder() +{ + return this->substationMemberOf_Feeder; +} diff --git a/testHasttable/substation.h b/testHasttable/substation.h index fa390c2..e13c738 100644 --- a/testHasttable/substation.h +++ b/testHasttable/substation.h @@ -7,6 +7,7 @@ class Substation:public BasicElementInfo public: explicit Substation(QObject *parent = 0); virtual bool parse(QXmlStreamReader& reader); + QString getSubstationMemberOf_Feeder(); protected: virtual bool derivedParse(QXmlStreamReader& reader); QString namingDescription; diff --git a/testHasttable/topologyrecorder.cpp b/testHasttable/topologyrecorder.cpp index 4787bc4..e7bcfb8 100644 --- a/testHasttable/topologyrecorder.cpp +++ b/testHasttable/topologyrecorder.cpp @@ -44,7 +44,6 @@ bool TopologyRecorder::startWithNode(const QString& node) // std::cout<<"can not find "<getNamingDescription()=="") terminalA=AC->getTerminalA(); terminalB=AC->getTerminalB(); std::cout<<"find"<getID().toStdString()<(ht[tfID]); std::cout<<"TF"<getNamingDescription().toStdString()<getEquipmentMemberOf_EquipmentContainer(); + Substation *sfd=static_cast(ht[equipmentContainer]); + if(sfd==NULL) + { + std::cout<<"can not find"<getSubstationMemberOf_Feeder(); + if(feederID!="FD-2004") + { + std::cout<getNamingDescription().toStdString()<<"not belong"<