#ifndef CIMEXPORTER_H #define CIMEXPORTER_H #include #include "element/line.h" #include "element/switch.h" #include "element/transformer.h" #include #include class CIMExporter { struct BranchStruc { QString fromID; QString toID; int fromNum; int toNum; }; struct LineStru:public BranchStruc { Line *line; }; struct SwitchStru:public BranchStruc { Switch *sw; }; struct TransformerStru:public BranchStruc { Transformer *tf; }; public: CIMExporter(); 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: QList line; QList sw; QList tf; QHash number; int numberIt(const QString &id);//编号 }; #endif // CIMEXPORTER_H