コード例 #1
0
        public TopoNetView(Rectangle r, TopoNet <TNode, TLine> topo)
        {
            _rect    = r;
            _topoNet = topo;
            _nodeNum = topo.NodeArray.Length;
            //初始成员变量

            _nodeRects = new Rectangle[_nodeNum];
            _ethLines  = new List <Point> [_nodeNum];
            _rioLines  = new List <Point> [_nodeNum];

            _gtxLines  = new List <Point> [_nodeNum, _nodeNum];
            _lvdsLines = new List <Point> [_nodeNum, _nodeNum];
        }
コード例 #2
0
 /// <summary>
 /// 初始化成员变量_topoNet(TopoNet<DynamicNode, DynamicLine>)
 /// </summary>
 private void InitTopoNet()
 {
     _topoNet = new TopoNet <DynamicNode, DynamicLine>(_sTopo.ComputeNodeNum);
     //初始化节点
     foreach (StaticNode sNode in _sTopo._topoNet.NodeArray)
     {
         DynamicNode dNode = new DynamicNode(sNode);
         //默认除了机箱0都设置为掉线
         if (sNode.FrameId == 0)
         {
             dNode.Status = NodeStatus.OnLine;
         }
         _topoNet.SetNodeValue(sNode.UrlId, dNode);
     }
     //连接初始化
     InitTopoLink(_sTopo._topoNet.EthLinks);
     InitTopoLink(_sTopo._topoNet.RioLinks);
     InitTopoLink(_sTopo._topoNet.GTXLinks.Cast <StaticLine>());
     InitTopoLink(_sTopo._topoNet.LVDSLinks.Cast <StaticLine>());
 }
コード例 #3
0
        //初始化TopoNet
        private void InitTopoNet()
        {
            int curUrlId = 0;

            _topoNet = new TopoNet <StaticNode, StaticLine>(ComputeNodeNum);

            //得到一个集合,是按照板卡为单位来分的NodeArray(PPC,ZYNQ,FPGA),且按照一定顺序
            var groups = from rNode in _rawTopo.NodeArray
                         where rNode.Type != EndType.SW && rNode.Type != EndType.VPX
                         orderby rNode.FrameId ascending, rNode.SlotId ascending
            group rNode by new { rNode.FrameId, rNode.SlotId };

            try
            {
                //分组访问把其中的rNode录入TopoNet中
                foreach (var group in groups)
                {
                    foreach (var rNode in group)
                    {
                        var sNode = new StaticNode(rNode.Type, rNode.Name, curUrlId++);
                        sNode.FrameId    = rNode.FrameId;
                        sNode.SlotId     = rNode.SlotId;
                        sNode.EndId      = rNode.EndId;
                        sNode.NodeObject = StaticTopo_GenNodeObj(sNode.NodeType, sNode.Name);
                        _topoNet.SetNodeValue(sNode.UrlId, sNode);
                    }
                }

                //把rNode的相关连接录入TopoNet中
                AddLinksToTopoNet();
            }
            catch (Exception e)
            {
                MessageBox.Show("InitTopoNet:" + e.Message);
            }
        }
コード例 #4
0
 public void InitTopo(int nodeNum)
 {
     NodeNum    = nodeNum;
     CmpTopoNet = new TopoNet <ComponentNode, ComponentLine>(nodeNum);
 }