예제 #1
0
        /// <inheritdoc />
        protected override Edge AddEdge(TEdge edge)
        {
            if (edge == null)
            {
                throw new ArgumentNullException(nameof(edge));
            }

            return(MsaglGraph.AddEdge(
                       _verticesIds[edge.Source],
                       _verticesIds[edge.Target]));
        }
예제 #2
0
        /// <inheritdoc />
        protected override Node AddNode(TVertex vertex)
        {
            if (vertex == null)
            {
                throw new ArgumentNullException(nameof(vertex));
            }

            string id = GetVertexId(vertex);

            _verticesIds.Add(vertex, id);
            Node node = MsaglGraph.AddNode(id);

            node.Attr.Shape = Shape.Box;
            node.LabelText  = GetVertexLabel(id, vertex);
            return(node);
        }
예제 #3
0
 /// <inheritdoc />
 protected override Edge AddEdge(TEdge edge)
 {
     return(MsaglGraph.AddEdge(
                _vertexIdentity(edge.Source),
                _vertexIdentity(edge.Target)));
 }
예제 #4
0
 /// <inheritdoc />
 protected override Node AddNode(TVertex vertex)
 {
     return(MsaglGraph.AddNode(_vertexIdentity(vertex)));
 }