コード例 #1
0
 private static void Igp_topology_OnLinkDownCallback(yggdrasil2.Topology.IGP.Link.Link link)
 {
 }
コード例 #2
0
        public static Shape RenderRelationship(yggdrasil2.Topology.IGP.Link.Link link, Dataweb.NShape.WinFormsUI.Display Display)
        {
            //Globals
            Project project = Display.Project;
            Diagram diagram = Display.Diagram;
            Design  design  = project.Design;

            Layer layer = diagram.Layers["NETWORK"];
            //

            //Defaults
            ILineStyle stroke   = design.LineStyles.Normal;
            ICapStyle  startCap = design.CapStyles.None;
            ICapStyle  endCap   = design.CapStyles.None;

            //

            if (link.OperationalStatus)
            {
                stroke = design.LineStyles.Green;
            }
            else
            {
                stroke = design.LineStyles.Red;
            }

            //Start and End Shapes
            Shape shapeStart = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.SourceNode, null), "Circle", Display);
            Shape shapeEnd   = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.TargetNode, null), "Circle", Display);

            while (shapeStart == null || shapeEnd == null)
            {
                System.Threading.Thread.Sleep(1);

                shapeStart = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.SourceNode, null), "Circle", Display);
                shapeEnd   = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.TargetNode, null), "Circle", Display);
            }

            Shape exists = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.Id, null), "Polyline", Display);

            Shape reverseExists = NShapeHelper.FindShapeByShapeTag(new display.UI.ShapeTag(link.ReverseId, null), "Polyline", Display);

            if (exists != null)
            {
                exists.LineStyle = stroke;
                ((UI.ShapeTag)exists.Tag).LineStyle = stroke;

                if (reverseExists != null)
                {
                    reverseExists.LineStyle = stroke;
                    ((UI.ShapeTag)reverseExists.Tag).LineStyle = stroke;
                }

                return(exists);
            }
            else
            {
                return(NShapeHelper.ConnectShapes(shapeStart, shapeEnd,
                                                  new display.UI.ShapeTag(link.Id, link, stroke, null, Display.Project.Design.CapStyles.None),
                                                  Display, project, stroke, layer));
            }
        }
コード例 #3
0
 private static void Igp_topology_OnLinkUpdateCallback(yggdrasil2.Topology.IGP.Link.Link link)
 {
     IGPLinks.Set(igp_topology.Links.Count);
 }