加了Substation的类

Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
facat@lab.com 2014-12-11 19:57:55 +08:00
parent d6bcb9a0c5
commit 2e46068680
7 changed files with 61 additions and 32 deletions

View File

@ -1,5 +1,5 @@
#include "aclinesegment.h"
#include <iostream>
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 "<<this->containsOfSubstation<<"\n";
}
if("Naming.description"==reader.name())
{
// std::cout<<"Nd"<<std::endl;
// std::cout<<reader.readElementText().toLocal8Bit().data()<<std::endl;
this->lineName=reader.readElementText();
}
return true;
}
QString ACLineSegment::getLineName()
{
return this->lineName;
}
QString ACLineSegment::getTerminalA()
{
return this->terminalA;

View File

@ -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;

View File

@ -80,7 +80,7 @@ bool ElementHashtable::GoPath()
// if(p->getName()=="ACLineSegment"){
// std::cout<<p->getID().toStdString()<<std::endl;
// }
if(p->getName()=="ACLineSegment" && p->getID()=="AC-456432")
if(p->getName()=="ACLineSegment" && p->getID()=="AC-456702")
{
ACLineSegment *ac=static_cast<ACLineSegment *>(p);//BusbarSection也就是线路头节点
QString acTerminal=ac->getTerminalB();

View File

@ -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;
}

View File

@ -0,0 +1,16 @@
#ifndef SUBSTATION_H
#define SUBSTATION_H
#include <QXmlStreamReader>
#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

View File

@ -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

View File

@ -47,6 +47,7 @@ bool TopologyRecorder::startWithNode(const QString& node)
terminalA=AC->getTerminalA();
terminalB=AC->getTerminalB();
std::cout<<"find"<<AC->getID().toStdString()<<std::endl;
std::cout<<AC->getLineName().toStdString()<<std::endl;
foundCate=true;
}
if(ce.startsWith("SW"))
@ -69,34 +70,6 @@ bool TopologyRecorder::startWithNode(const QString& node)
{
continue;
}
// if(ce.startsWith("SW"))
// {
// foundCate=true;
// QPair<QString,QString> fromTo;
// this->branch.push_back(fromTo);
// QString terminalA;
// QString terminalB;
// // std::cout<<"terminalA"<<terminalA.toStdString()<<std::endl;//@1
// // std::cout<<"terminalB"<<terminalB.toStdString()<<std::endl;//@1
// QString nextTerminal;
// nextTerminal=(terminalA==anotherTerminal)?terminalB:terminalA;
// Terminal *nextTerminalP=static_cast<Terminal *>(ht[nextTerminal]);
// if(!nextTerminalP)
// {
// // std::cout<<"can not terminal "<<nextTerminal.toStdString()<<std::endl;//@1
// continue;
// }
// QString nextNode=nextTerminalP->getConnectivityNode();
// // std::cout<<"next node"<<nextNode.toStdString()<<"from"<<nextTerminal.toStdString()<<std::endl;//@1
// this->startWithNode(nextNode);
// }
if(foundCate)
{
this->branch.push_back(fromTo);