用QTextStream来输出Container的信息。

Signed-off-by: dmy@lab <dmy@lab.lab>
This commit is contained in:
dmy@lab
2015-01-07 21:57:50 +08:00
parent cd22eecbca
commit 1e3ad32bfa
4 changed files with 66 additions and 35 deletions

View File

@@ -7,37 +7,7 @@ TopologyRecorder::TopologyRecorder(const QHash<QString,BasicElementInfo *>& elem
TopologyRecorder::~TopologyRecorder()
{
const QHash<QString,BasicElementInfo*> &ht=this->eleHT;
std::cout<<"total tf"<<this->tfs.length()<<std::endl;
//统计一下每个Container下有多少个变压器
QHash<QString,QVector<QString> > s;
for(QVector<QString>::iterator ite=this->tfs.begin();
ite!=this->tfs.end();
ite++)
{
PowerTransformer *pf=static_cast<PowerTransformer *>(ht[*ite]);
QString container;
container=pf->getEquipmentMemberOf_EquipmentContainer();
s[container].push_back(*ite);
}
std::cout<<"container "<<s.keys().length()<<std::endl;
QList<QString> keys=s.keys();
for(QList<QString>::iterator ite=keys.begin();
ite!=keys.end();
ite++)
{
QString k=*ite;
std::cout<<k.toStdString();
Substation *sb=static_cast<Substation *>(ht[k]);
std::cout<<", "<<sb->getNamingDescription().toStdString();
QVector<QString> v=s[k];
foreach (QString n, v) {
std::cout<<", "<<n.toStdString();
PowerTransformer *pf=static_cast<PowerTransformer *>(ht[n]);
std::cout<<"("<<pf->getNamingDescription().toStdString()<<")";
}
std::cout<<std::endl;
}
}
bool TopologyRecorder::isEquipmentNeeded(const QString& substatinID)
@@ -61,6 +31,43 @@ void TopologyRecorder::exportTo(const QString& path)
this->cimExporter.exportTo(path);
}
void TopologyRecorder::showContainerInfo(QTextStream &stream)
{
const QHash<QString,BasicElementInfo*> &ht=this->eleHT;
stream<<"total tf"<<this->tfs.length()<<"\n";
//统计一下每个Container下有多少个变压器
QHash<QString,QVector<QString> > s;
for(QVector<QString>::iterator ite=this->tfs.begin();
ite!=this->tfs.end();
ite++)
{
PowerTransformer *pf=static_cast<PowerTransformer *>(ht[*ite]);
QString container;
container=pf->getEquipmentMemberOf_EquipmentContainer();
s[container].push_back(*ite);
}
std::cout<<"container "<<s.keys().length()<<std::endl;
QList<QString> keys=s.keys();
for(QList<QString>::iterator ite=keys.begin();
ite!=keys.end();
ite++)
{
QString k=*ite;
stream<<k;
Substation *sb=static_cast<Substation *>(ht[k]);
stream<<"("<<sb->getNamingDescription()<<")";
QVector<QString> v=s[k];
foreach (QString n, v) {
std::cout<<", "<<n.toStdString();
PowerTransformer *pf=static_cast<PowerTransformer *>(ht[n]);
stream<<"("<<pf->getNamingDescription()<<")";
}
stream<<"\n";
}
}
bool TopologyRecorder::startWithNode(const QString& node)
{
if(node=="")