BuildCNet
2017-02-14 14:34:53 0 举报
登录查看完整内容
为你推荐
查看更多
抱歉,暂无相关内容
电网中节点简要建立网络拓扑过程
作者其他创作
大纲/内容
是
m_net-SetRootNode(cNode)设置根节点
否
childs[i]!=vec_tempChild[0]如果第一个点和上一次循环结束后的第一个点不同
是,continue
GetSameConnectivityID找到父子相同的连接点id
循环结束?
cimNodeTmp-IsInStation()
m_net-AddNode(cNode);添加该节点gVisiteds.insert(strCurObjID);把节点ID放入已经处理队列
把vec_LinePole[i-1]的ID加入list_ParentObjIDs把cimLinePole加入list_NeedSearchObjIDs
继续搜索站外设备,找出有几个出线
cimNodeTmp-IsBus()
最后一根运行杆
if(m_net-GetNode(strParentObjID))是否有父母节点
处理进站终端头没有母线的问题
vector outStationCates
gVisiteds.count(strCurObjID)?该节点是否被处理过
m_net设置根节点
listlist_NeedSearchObjIDs
if (cimNode-IsLine())//线的下面应该出现点
初始化gVisiteds,strLastLinePole,strLastLinePole_AdjTermIDlist_ParentObjIDslist_NeedSearchObjIDs
cNode = new CParseNode(para)
strBranchStartObjID分支起始点,分支布局用到
cNode-AddTerminal(\"1\
vec_tempChild[0]
继续循环
cimLinePole杆塔设备中处理的
m_strStartNodeID==strCurObjID当前节点是否是开始节点
没有站内设备
for (size_t jj=0;jjchilds.size();++jj)遍历该节点的所有孩子childs进行处理
if (cimNodeTmp-T&C.size()==1) //点连点情况
cimNodeTmp-IsLine()
cimNodeTmp存储当前处理孩子节点
cimNodeTmp当前处理的节点
前面插入
strCurObjID=list_NeedSearchObjIDs.front();传入list_NeedSearchObjIDs.pop_front();从待处理数据中弹出
添加前后关系
cNode-AddTerminal(\"1\
中间的运行杆
for (size_t j = 0; j childs.size(); ++j)
有何区别
是否为站房cimNode-IsStation()
cNode-SetParent();给当前节点设置父母-AddChild(cNode);给其其父母节点添加孩子
cimNode当前处理的节点
第一根直线运行杆
objectIDTmp不在ID总集合中
string strLastLinePole_AdjTermID
CNode站房节点
gVisiteds.count(outStationCates[i])==0?
string strLastLinePole挂在导线段上面的最后一根直线运行杆
list_NeedSearchObjIDs为空??
for (size_t jj=0;jjchilds.size();++jj)再次遍历该节点的所有孩子childs进行处理
点只有一个连接点
遍历结束?
遍历导线上的直线运行塔杆
是否为站内设备cimNode-IsInStation()
cimNodeTmp-IsStation
cimNodeTmp
((CStation*)cNode)-SetInStationCate(strCurObjID);\tcimNode是站内终端头则设置进站终端头\t\t\t}
是否有父母节点
是母线
找到起始节点
cNode当前处理的节点
返回True
是站房
后面插入
cimNodeTmp是否为点设备
cimNode是否为直线运行杆塔
cimNode-IsPoint()&&T&C=2
不是站房
stationId所属的站房
BuildBranchNet,cNode, (cNode-GetInStationCate()
把当前杆塔加入list_NeedSearchObjIDs把当前杆塔加入list_ParentObjIDs
杆队列的位置
outStationCates.push_back(cimNodeTmp-m_strRdfID);出站终端头
是终端头但不是进站终端
循环结束
开始
strBranchStartObjID=strCurObjID;
CNode.empty()&&gVisiteds成员为0
AddBusID加入到母线集合
Cnode是否为杆塔&&strCurObjID!=strLastLinePole?
listlist_ParentObjIDs
strCurObjID!=m_strStartNodeID兼容起始点是线设备的情况
cNode = new CStation(para)
把cimNodeTmp加入list_NeedSearchObjIDs把strCurObjID加入list_ParentObjIDs
childs.clear();
objectIDTmp加入list_NeedSearchObjIDsstationID加入ParentObjIDs
是,出现线连接线
objectIDTmp=childs[j]cimNodeTmp当前处理的孩子节点
connetivityID未引用
构造母线网络
\tCParseNet() 类型m_net当前进行构建的网络
if (cimNode-IsPoint()&&(cimNode-T&C.size()==2))/考虑柱上开关一端连接着杆塔跟导线,实际情况是先柱上开关、再杆塔、后导线
cimNode-IsStationCate()
输出ERROR LOG
for (size_t i = 0; i m_mapStationIDAndEquipments[stationId].size(); ++i)遍历该站房的站内设备
不是母线
cimNode-IsStationCate()当前节点是否为终端头
添加端子把当前杆塔加入list_NeedSearchObjIDs导线段跟第一个直线运行杆塔建立父子关系把当前杆塔加入list_ParentObjIDs
for (size_t i = 0; i outStationCates.size(); ++i)遍历出站终端头
收藏
收藏
0 条评论
回复 删除
下一页