From 57dc9e972896e970c0b04d134c513422bc85a059 Mon Sep 17 00:00:00 2001 From: "facat@lab.com" Date: Fri, 26 Dec 2014 21:21:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E7=B1=BB=E5=A4=84=E7=90=86=E7=BA=BF?= =?UTF-8?q?=E8=B7=AF=E9=98=BB=E6=8A=97=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: facat@lab.com --- testHasttable/aclinesegment.cpp | 17 +++++++++++++++-- testHasttable/aclinesegment.h | 2 ++ testHasttable/cimexporter.cpp | 5 +++++ testHasttable/cimexporter.h | 10 ++++++++++ testHasttable/element/branch.cpp | 5 +++++ testHasttable/element/branch.h | 22 ++++++++++++++++++++++ testHasttable/element/line.cpp | 24 ++++++++++++++++++++++++ testHasttable/element/line.h | 16 ++++++++++++++++ testHasttable/testHasttable.pro | 10 ++++++++-- 9 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 testHasttable/cimexporter.cpp create mode 100644 testHasttable/cimexporter.h create mode 100644 testHasttable/element/branch.cpp create mode 100644 testHasttable/element/branch.h create mode 100644 testHasttable/element/line.cpp create mode 100644 testHasttable/element/line.h diff --git a/testHasttable/aclinesegment.cpp b/testHasttable/aclinesegment.cpp index db58023..061b46e 100644 --- a/testHasttable/aclinesegment.cpp +++ b/testHasttable/aclinesegment.cpp @@ -30,13 +30,26 @@ bool ACLineSegment::derivedParse(QXmlStreamReader &reader) } if("Naming.description"==reader.name()) { -// std::cout<<"Nd"<namingDescription=reader.readElementText(); } + if("Conductor.length"==reader.name()) + { + bool ok; + this->conductorLength=reader.readElementText().toInt(&ok); + if(!ok) + { + this->conductorLength=-100000; + } + } return true; } + +double ACLineSegment::getLength() +{ + return this->conductorLength; +} + QString ACLineSegment::getNamingDescription() { return this->namingDescription; diff --git a/testHasttable/aclinesegment.h b/testHasttable/aclinesegment.h index 96a8ef6..cb3f0bd 100644 --- a/testHasttable/aclinesegment.h +++ b/testHasttable/aclinesegment.h @@ -8,12 +8,14 @@ public: virtual bool parse(QXmlStreamReader &reader); QString getTerminalA(); QString getTerminalB(); + double getLength(); QString getNamingDescription(); protected: QString terminalA; QString terminalB; QString containsOfSubstation; QString namingDescription; + double conductorLength; virtual bool derivedParse(QXmlStreamReader &reader); private: bool isTerminalA; diff --git a/testHasttable/cimexporter.cpp b/testHasttable/cimexporter.cpp new file mode 100644 index 0000000..d5229f3 --- /dev/null +++ b/testHasttable/cimexporter.cpp @@ -0,0 +1,5 @@ +#include "cimexporter.h" + +CIMExporter::CIMExporter() +{ +} diff --git a/testHasttable/cimexporter.h b/testHasttable/cimexporter.h new file mode 100644 index 0000000..97d93b5 --- /dev/null +++ b/testHasttable/cimexporter.h @@ -0,0 +1,10 @@ +#ifndef CIMEXPORTER_H +#define CIMEXPORTER_H + +class CIMExporter +{ +public: + CIMExporter(); +}; + +#endif // CIMEXPORTER_H diff --git a/testHasttable/element/branch.cpp b/testHasttable/element/branch.cpp new file mode 100644 index 0000000..dfd1f62 --- /dev/null +++ b/testHasttable/element/branch.cpp @@ -0,0 +1,5 @@ +#include "branch.h" + +Branch::Branch(double ratio,const QString& from, const QString& to):ratio(ratio),from(from),to(to) +{ +} diff --git a/testHasttable/element/branch.h b/testHasttable/element/branch.h new file mode 100644 index 0000000..b526bd8 --- /dev/null +++ b/testHasttable/element/branch.h @@ -0,0 +1,22 @@ +#ifndef BRANCH_H +#define BRANCH_H +#include +class Branch +{ +public: + Branch(double ratio,const QString& from, const QString& to); +protected: + double r; + double x; + QString from; + QString to; + double ratio;//变比 + double b1; + double b2; + double g1; + double g2; +protected: + virtual void extract()=0; +}; + +#endif // BRANCH_H diff --git a/testHasttable/element/line.cpp b/testHasttable/element/line.cpp new file mode 100644 index 0000000..7aefb09 --- /dev/null +++ b/testHasttable/element/line.cpp @@ -0,0 +1,24 @@ +#include "line.h" + +Line::Line(const QPair& fromTo, ACLineSegment* ac):Branch(1,fromTo.first,fromTo.second) +{ + this->ac=ac; +} + + +void Line::extract() +{ + ACLineSegment *ac=this->ac; + double length=ac->getLength(); + //单位阻抗 + double r0=0.01; + double x0=0.01; + double g0=0; + double b0=0; + this->r=r0*length; + this->x=x0*length; + this->g1=g0*length; + this->g2=g0*length; + this->b1=b0*length; + this->b2=b0*length; +} diff --git a/testHasttable/element/line.h b/testHasttable/element/line.h new file mode 100644 index 0000000..f5953ce --- /dev/null +++ b/testHasttable/element/line.h @@ -0,0 +1,16 @@ +#ifndef LINE_H +#define LINE_H +#include +#include "branch.h" +#include "./../aclinesegment.h" +class Line:public Branch +{ +public: + Line(const QPair &fromTo, ACLineSegment* ac); +protected: + virtual void extract(); +private: + ACLineSegment *ac; +}; + +#endif // LINE_H diff --git a/testHasttable/testHasttable.pro b/testHasttable/testHasttable.pro index 05358f7..80cdfe3 100644 --- a/testHasttable/testHasttable.pro +++ b/testHasttable/testHasttable.pro @@ -31,7 +31,10 @@ SOURCES += main.cpp \ synchronousmachine.cpp \ nodetoterminal.cpp \ topologyrecorder.cpp \ - substation.cpp + substation.cpp \ + cimexporter.cpp \ + element/branch.cpp \ + element/line.cpp HEADERS += \ elementhashtable.h \ @@ -48,7 +51,10 @@ HEADERS += \ synchronousmachine.h \ nodetoterminal.h \ topologyrecorder.h \ - substation.h + substation.h \ + cimexporter.h \ + element/branch.h \ + element/line.h #release{ DEFINES += QT_NO_DEBUG_OUTPUT