diff --git a/testHasttable/aclinesegment.cpp b/testHasttable/aclinesegment.cpp index 8288e84..5c55f8c 100644 --- a/testHasttable/aclinesegment.cpp +++ b/testHasttable/aclinesegment.cpp @@ -1,5 +1,5 @@ #include "aclinesegment.h" - +#include ACLineSegment::ACLineSegment(QObject *parent):BasicElementInfo(parent),isTerminalA(true) { } @@ -28,9 +28,20 @@ bool ACLineSegment::derivedParse(QXmlStreamReader &reader) this->containsOfSubstation=ss.replace("#","").leftRef(-1).toString(); qDebug()<<"got "<<"ConductingEquipment.Substation "<containsOfSubstation<<"\n"; } + if("Naming.description"==reader.name()) + { +// std::cout<<"Nd"<lineName=reader.readElementText(); + } return true; } +QString ACLineSegment::getLineName() +{ + return this->lineName; +} + QString ACLineSegment::getTerminalA() { return this->terminalA; diff --git a/testHasttable/aclinesegment.h b/testHasttable/aclinesegment.h index ebc07ea..12846f5 100644 --- a/testHasttable/aclinesegment.h +++ b/testHasttable/aclinesegment.h @@ -8,10 +8,12 @@ public: virtual bool parse(QXmlStreamReader &reader); QString getTerminalA(); QString getTerminalB(); + QString getLineName(); protected: QString terminalA; QString terminalB; QString containsOfSubstation; + QString lineName; virtual bool derivedParse(QXmlStreamReader &reader); private: bool isTerminalA; diff --git a/testHasttable/elementhashtable.cpp b/testHasttable/elementhashtable.cpp index 1799161..dc520c7 100644 --- a/testHasttable/elementhashtable.cpp +++ b/testHasttable/elementhashtable.cpp @@ -80,7 +80,7 @@ bool ElementHashtable::GoPath() // if(p->getName()=="ACLineSegment"){ // std::cout<getID().toStdString()<getName()=="ACLineSegment" && p->getID()=="AC-456432") + if(p->getName()=="ACLineSegment" && p->getID()=="AC-456702") { ACLineSegment *ac=static_cast(p);//BusbarSection也就是线路头节点 QString acTerminal=ac->getTerminalB(); diff --git a/testHasttable/substation.cpp b/testHasttable/substation.cpp new file mode 100644 index 0000000..b36c79e --- /dev/null +++ b/testHasttable/substation.cpp @@ -0,0 +1,25 @@ +#include "substation.h" + +Substation::Substation(QObject *parent):BasicElementInfo(parent) +{ +} + + +bool Substation::parse(QXmlStreamReader& reader) +{ + return this->parseBasicInfo(reader); +} + + +bool Substation::derivedParse(QXmlStreamReader& reader) +{ + if(reader.name()=="Naming.description") + { + this->namingDescription=reader.readElementText(); + } + if(reader.name()=="Substation.MemberOf_Feeder" && reader.attributes().hasAttribute("rdf:resource")) + { + this->substationMemberOf_Feeder=reader.attributes().value("rdf:resource").toString(); + } + return true; +} diff --git a/testHasttable/substation.h b/testHasttable/substation.h new file mode 100644 index 0000000..fa390c2 --- /dev/null +++ b/testHasttable/substation.h @@ -0,0 +1,16 @@ +#ifndef SUBSTATION_H +#define SUBSTATION_H +#include +#include "BasicElementInfo.h" +class Substation:public BasicElementInfo +{ +public: + explicit Substation(QObject *parent = 0); + virtual bool parse(QXmlStreamReader& reader); +protected: + virtual bool derivedParse(QXmlStreamReader& reader); + QString namingDescription; + QString substationMemberOf_Feeder; +}; + +#endif // SUBSTATION_H diff --git a/testHasttable/testHasttable.pro b/testHasttable/testHasttable.pro index b6ca7e2..05358f7 100644 --- a/testHasttable/testHasttable.pro +++ b/testHasttable/testHasttable.pro @@ -30,7 +30,8 @@ SOURCES += main.cpp \ powertransformer.cpp \ synchronousmachine.cpp \ nodetoterminal.cpp \ - topologyrecorder.cpp + topologyrecorder.cpp \ + substation.cpp HEADERS += \ elementhashtable.h \ @@ -46,7 +47,8 @@ HEADERS += \ powertransformer.h \ synchronousmachine.h \ nodetoterminal.h \ - topologyrecorder.h + topologyrecorder.h \ + substation.h #release{ DEFINES += QT_NO_DEBUG_OUTPUT diff --git a/testHasttable/topologyrecorder.cpp b/testHasttable/topologyrecorder.cpp index 88ceb01..5fcbb7f 100644 --- a/testHasttable/topologyrecorder.cpp +++ b/testHasttable/topologyrecorder.cpp @@ -47,6 +47,7 @@ bool TopologyRecorder::startWithNode(const QString& node) terminalA=AC->getTerminalA(); terminalB=AC->getTerminalB(); std::cout<<"find"<getID().toStdString()<getLineName().toStdString()< fromTo; - - // this->branch.push_back(fromTo); - - // QString terminalA; - // QString terminalB; - - // // std::cout<<"terminalA"<(ht[nextTerminal]); - // if(!nextTerminalP) - // { - // // std::cout<<"can not terminal "<getConnectivityNode(); - // // std::cout<<"next node"<startWithNode(nextNode); - - // } - if(foundCate) { this->branch.push_back(fromTo);