加了处理Disconnector连接关系的代码

Signed-off-by: facat@lab.com <facat@lab.com>
This commit is contained in:
facat@lab.com
2014-12-25 21:35:06 +08:00
parent a012ca3502
commit edfb3310f8
5 changed files with 114 additions and 19 deletions

View File

@@ -4,6 +4,11 @@ TopologyRecorder::TopologyRecorder(const QHash<QString,BasicElementInfo *>& elem
{
}
TopologyRecorder::~TopologyRecorder()
{
std::cout<<"total tf"<<this->tfs.length()<<std::endl;
}
bool TopologyRecorder::startWithNode(const QString& node)
{
if(node=="")
@@ -52,28 +57,69 @@ bool TopologyRecorder::startWithNode(const QString& node)
}
if(ce.startsWith("SW"))
{
QString swID=ce;
fromTo.first=node;
fromTo.second=swID;
Breaker *SW=static_cast<Breaker *>(ht[swID]);
if(!SW)
BasicElementInfo *bi=ht[ce];
if(bi!=NULL)
{
// std::cout<<"can not SW "<<swID.toStdString()<<std::endl;//@1
continue;
}
//显示开关状态
if(SW->getOpenState()==true)
{
std::cout<<"sw "<<SW->getNamingDescription().toStdString()<<"is open"<<std::endl;
std::cout<<bi->getName().toStdString()<<std::endl;
if(bi->getName()=="Breaker")
{
QString swID=ce;
fromTo.first=node;
fromTo.second=swID;
Breaker *SW=static_cast<Breaker *>(ht[swID]);
if(!SW)
{
// std::cout<<"can not SW "<<swID.toStdString()<<std::endl;//@1
continue;
}
//显示开关状态
if(SW->getOpenState()==true)
{
std::cout<<"sw "<<SW->getNamingDescription().toStdString()<<"is open"<<std::endl;
}
else
{
std::cout<<"sw "<<SW->getNamingDescription().toStdString()<<"is close"<<std::endl;
}
terminalA=SW->getTerminalA();
terminalB=SW->getTerminalB();
std::cout<<"find"<<SW->getID().toStdString()<<std::endl;
foundCate=true;
}
if(bi->getName()=="Disconnector")
{
QString disConID=ce;
fromTo.first=node;
fromTo.second=disConID;
Disconnector *Dis=static_cast<Disconnector *>(ht[disConID]);
if(!Dis)
{
// std::cout<<"can not SW "<<swID.toStdString()<<std::endl;//@1
continue;
}
//显示开关状态
if(Dis->getOpenState()==true)
{
std::cout<<"Dissw "<<Dis->getNamingDescription().toStdString()<<"is open"<<std::endl;
}
else
{
std::cout<<"Dissw "<<Dis->getNamingDescription().toStdString()<<"is close"<<std::endl;
}
terminalA=Dis->getTerminalA();
terminalB=Dis->getTerminalB();
std::cout<<"find"<<Dis->getID().toStdString()<<std::endl;
foundCate=true;
}
}
else
{
std::cout<<"sw "<<SW->getNamingDescription().toStdString()<<"is close"<<std::endl;
continue;
}
terminalA=SW->getTerminalA();
terminalB=SW->getTerminalB();
std::cout<<"find"<<SW->getID().toStdString()<<std::endl;
foundCate=true;
}
if(ce.startsWith("BS"))
{
@@ -114,10 +160,14 @@ bool TopologyRecorder::startWithNode(const QString& node)
else
{
QString feederID=sfd->getSubstationMemberOf_Feeder();
if(feederID!="FD-2003")
if(feederID!="FD-2023")
{
std::cout<<tf->getNamingDescription().toStdString()<<"not belong"<<std::endl;
}
else
{
this->tfs.push_back(tf->getNamingDescription());
}
}
// foundCate=true;
}