cimforreduceloss/testHasttable/cimexporter.h

50 lines
1.3 KiB
C++

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