From 7fa4d1d98b54143d0f3cfa9d91a17ac7576f45e5 Mon Sep 17 00:00:00 2001 From: "facat@lab.com" Date: Sun, 28 Dec 2014 17:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=A8=A1=E6=9D=BF=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=AF=B9=E4=B8=8D=E5=90=8C=E5=85=83=E4=BB=B6=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=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/cimexporter.cpp | 22 ++++++++++++++++++++++ testHasttable/cimexporter.h | 4 +++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/testHasttable/cimexporter.cpp b/testHasttable/cimexporter.cpp index 6999c45..5298659 100644 --- a/testHasttable/cimexporter.cpp +++ b/testHasttable/cimexporter.cpp @@ -10,6 +10,7 @@ void CIMExporter::add(const QPair& fromTo,Line* line) lineStru.line=line; lineStru.fromID=fromTo.first; lineStru.toID=fromTo.second; + this->line.push_back(lineStru); } void CIMExporter::add(const QPair& fromTo,Switch* sw) @@ -18,6 +19,7 @@ void CIMExporter::add(const QPair& fromTo,Switch* sw) switchStru.sw=sw; switchStru.fromID=fromTo.first; switchStru.toID=fromTo.second; + this->sw.push_back(switchStru); } void CIMExporter::add(const QPair& fromTo,Transformer* tf) { @@ -25,12 +27,32 @@ void CIMExporter::add(const QPair& fromTo,Transformer* tf) tfStru.tf=tf; tfStru.fromID=fromTo.first; tfStru.toID=fromTo.second; + this->tf.push_back(tfStru); } void CIMExporter::exportTo(const QString& path) { + //先给所有节点都编号 + this->idToNumber(this->line); + this->idToNumber(this->sw); + this->idToNumber(this->tf); + +} +template +void CIMExporter::idToNumber(QList &s)//把所有元件的标识进行编号 +{ + for(typename QList::iterator ite=s.begin(); + ite!=s.end(); + ite++ + ) + { + T _t=*ite; + _t.fromNum=this->numberIt(_t.fromID); + _t.toNum=this->numberIt(_t.toID); + *ite=_t; + } } int CIMExporter::numberIt(const QString& id) diff --git a/testHasttable/cimexporter.h b/testHasttable/cimexporter.h index 2dd457f..ef8b89c 100644 --- a/testHasttable/cimexporter.h +++ b/testHasttable/cimexporter.h @@ -38,10 +38,12 @@ public: void exportTo(const QString& path); private: QList line; - QList sw; + QList sw; QList tf; QHash number; int numberIt(const QString &id);//编号 + template + void idToNumber(QList &s);//把所有元件的标识进行编号 }; #endif // CIMEXPORTER_H