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