parent
9f6e6d7bf7
commit
5017c73f09
|
|
@ -161,7 +161,15 @@ void CIMExporter::exportTo(const QString& path)
|
|||
{
|
||||
if(!usedLoad.contains(name))
|
||||
{
|
||||
std::cout<<name.toLocal8Bit().data()<<"not used"<<std::endl;
|
||||
LoadMatchException except;
|
||||
if(!except.contains(name))
|
||||
{
|
||||
std::cout<<name.toLocal8Bit().data()<<"not used"<<std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout<<name.toLocal8Bit().data()<<"not used but excepted."<<std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
this->topologyTest();
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#include <QVector>
|
||||
#include "topologytest.h"
|
||||
#include "elementreduction.h"
|
||||
#include "loadmatchexception.h"
|
||||
#include <cmath>
|
||||
//#include "elementhashtable.h"
|
||||
//class Substation;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,15 @@ ElementReduction::~ElementReduction()
|
|||
|
||||
}
|
||||
|
||||
void ElementReduction::calibration(const QString &id,QHash<QString,BranchStruc *> &idToBranch,QHash<QString,QVector<BranchStruc *> > &linkage)
|
||||
{
|
||||
QString to=idToBranch[id]->toID;
|
||||
if(linkage[to].length()==1)
|
||||
{
|
||||
idToBranch[id]->fromID.swap(idToBranch[id]->toID);
|
||||
}
|
||||
}
|
||||
|
||||
void ElementReduction::doIt()
|
||||
{
|
||||
QHash<QString,QVector<BranchStruc *> > linkage;
|
||||
|
|
@ -22,23 +31,28 @@ void ElementReduction::doIt()
|
|||
idToBranch[v->id]=v;
|
||||
linkage[v->fromID].push_back(v);
|
||||
linkage[v->toID].push_back(v);
|
||||
std::cout<<v->fromID.toStdString()<<" "<<v->id.toStdString()<<" "<<v->toID.toStdString()<<std::endl;
|
||||
}
|
||||
QDomDocument root;
|
||||
QDomElement element=root.createElement(this->branchList.at(2)->id);
|
||||
|
||||
// QDomElement element=root.createElement(this->branchList.at(2)->id);
|
||||
QDomElement element=root.createElement("AC-671677");
|
||||
this->calibration("AC-671677",idToBranch,linkage);
|
||||
std::cout<<"start "<<"AC-671677"<<std::endl;
|
||||
root.appendChild(element);
|
||||
this->buildTreeTo(element,root,linkage,idToBranch);
|
||||
this->visited.remove(this->branchList.at(2)->id);
|
||||
// this->visited.remove(this->branchList.at(2)->id);
|
||||
this->buildTreeFrom(element,root,linkage,idToBranch);
|
||||
this->merge(element,idToBranch);
|
||||
// QFile file("1.xml");
|
||||
// if(file.open(QFile::WriteOnly))
|
||||
// {
|
||||
//// root.setContent(&file);
|
||||
// QTextStream writer(&file);
|
||||
QFile file("1.xml");
|
||||
if(file.open(QFile::WriteOnly))
|
||||
{
|
||||
// root.setContent(&file);
|
||||
QTextStream writer(&file);
|
||||
|
||||
// root.save(writer,4);
|
||||
// file.close();
|
||||
// }
|
||||
root.save(writer,4);
|
||||
file.close();
|
||||
}
|
||||
//看看是不是每个都访问到了
|
||||
foreach(BranchStruc* v,this->branchList)
|
||||
{
|
||||
|
|
@ -121,12 +135,15 @@ void ElementReduction::buildTreeTo(QDomElement &element,QDomDocument &root,QHash
|
|||
nextTo=branch->toID;
|
||||
QVector<BranchStruc *> nextVec;
|
||||
nextVec=linkage[nextTo];
|
||||
std::cout<<nextVec.length()<<" of "<<element.tagName().toStdString()<<std::endl;
|
||||
foreach(BranchStruc *n,nextVec)
|
||||
{
|
||||
|
||||
if(this->visited.contains(n->id))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// std::cout<<element.tagName().toStdString()<<"to can connect to "<<n->id.toStdString()<<std::endl;
|
||||
// std::cout<<"add "<<n->id.toStdString()<<std::endl;
|
||||
QDomElement newEle=root.createElement(n->id);
|
||||
// std::cout<<"create "<<n->id.toStdString()<<std::endl;
|
||||
|
|
@ -149,12 +166,15 @@ void ElementReduction::buildTreeFrom(QDomElement &element,QDomDocument &root,QHa
|
|||
QString nextFrom=branch->fromID;
|
||||
QVector<BranchStruc *> nextFromVec;
|
||||
nextFromVec=linkage[nextFrom];
|
||||
|
||||
foreach(BranchStruc *n,nextFromVec)
|
||||
{
|
||||
|
||||
if(this->visited.contains(n->id))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
std::cout<<element.tagName().toStdString()<<"from can connect to "<<n->id.toStdString()<<std::endl;
|
||||
// std::cout<<"add "<<n->id.toStdString()<<std::endl;
|
||||
QDomElement newEle=root.createElement(n->id);
|
||||
// std::cout<<"create "<<n->id.toStdString()<<std::endl;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ public:
|
|||
void doIt();
|
||||
~ElementReduction();
|
||||
private:
|
||||
void calibration(const QString &id, QHash<QString, BranchStruc *> &idToBranch, QHash<QString, QVector<BranchStruc *> > &linkage);
|
||||
void merge(QDomElement &element, QHash<QString,BranchStruc *>& idToBranch);
|
||||
void buildTreeTo(QDomElement &element, QDomDocument &root, QHash<QString,QVector<BranchStruc *> >& linkage, QHash<QString,BranchStruc *>& idToBranch);
|
||||
void buildTreeFrom(QDomElement &element, QDomDocument &root, QHash<QString,QVector<BranchStruc *> >& linkage, QHash<QString,BranchStruc *>& idToBranch);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#727泰林东乙线,AC-671678,D:\Project\佛山项目\数据\搭网架参数文件\泰安\泰安负荷\727泰林东乙线,(FD-2096,),
|
||||
721南源线,AC-591821,D:\Project\佛山项目\数据\搭网架参数文件\北滘\北滘负荷\721南源线,(FD-2014,FD-2019,FD-2000,)
|
||||
#721南源线,AC-591821,D:\Project\佛山项目\数据\搭网架参数文件\北滘\北滘负荷\721南源线,(FD-2014,FD-2019,FD-2000,)
|
||||
726制钢甲线,AC-671677,D:\Project\佛山项目\数据\搭网架参数文件\泰安\泰安负荷\726制钢甲线,(FD-2038)
|
||||
|
||||
709美的甲线,AC-671399,D:\Project\佛山项目\数据\搭网架参数文件\北滘\北滘负荷\709美的甲线、720美的乙线,(FD-2003,)
|
||||
720美的乙线,AC-671401,D:\Project\佛山项目\数据\搭网架参数文件\北滘\北滘负荷\709美的甲线、720美的乙线,(FD-2003,)
|
||||
|
|
|
|||
Loading…
Reference in New Issue