#ifndef CIMEXPORTER_H #define CIMEXPORTER_H #include #include "element/line.h" #include "element/switch.h" #include "element/transformer.h" #include "element/commontype.h" #include #include #include #include #include #include #include #include #include "recursedir.h" #include "substation.h" #include "loadmapping.h" #include "loadinfo.h" #include #include "topologytest.h" #include "elementreduction.h" //#include "elementhashtable.h" //class Substation; class CIMExporter { public: explicit CIMExporter(const QHash& eleHT,const QString& loadDir); void add(const QPair& fromTo,Line* line); void add(const QPair& fromTo,Switch* sw); void add(const QPair& fromTo,Transformer* tf); void exportTo(const QString& path); private: bool topologyTest(); QList line; QList sw; QList tf; QHash number; int numberIt(const QString &id);//编号 template void idToNumber(QList &s);//把所有元件的标识进行编号 QString loadDir; const QHash& eleHT; }; #endif // CIMEXPORTER_H