Ejemplo n.º 1
0
        public override LGSPEdge Retype(LGSPEdge edge, EdgeType newEdgeType)
        {
            String name;

            if (ElemToName.TryGetValue(edge, out name)) // give new edge the name of the old edge in case it was named
            {
                LGSPEdge newEdge = (LGSPEdge)newEdgeType.CreateEdgeWithCopyCommons(edge.lgspSource, edge.lgspTarget, edge);
                ElemToName[newEdge] = name;
                RetypingEdge(edge, newEdge);
                ReplaceEdge(edge, newEdge);
                ElemToName.Remove(edge);
                NameToElem[name] = newEdge;
                return(newEdge);
            }
            else
            {
                return(base.Retype(edge, newEdgeType));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Retypes an edge by replacing it by a new edge of the given type.
 /// Source and target node as well as all attributes from common super classes are kept.
 /// </summary>
 /// <param name="edge">The edge to be retyped.</param>
 /// <param name="newEdgeType">The new type for the edge.</param>
 /// <returns>The new edge object representing the retyped edge.</returns>
 public virtual LGSPEdge Retype(LGSPEdge edge, EdgeType newEdgeType)
 {
     LGSPEdge newEdge = (LGSPEdge) newEdgeType.CreateEdgeWithCopyCommons(edge.lgspSource, edge.lgspTarget, edge);
     RetypingEdge(edge, newEdge);
     ReplaceEdge(edge, newEdge);
     return newEdge;
 }
Ejemplo n.º 3
0
 public override LGSPEdge Retype(LGSPEdge edge, EdgeType newEdgeType)
 {
     String name;
     if(ElemToName.TryGetValue(edge, out name)) // give new edge the name of the old edge in case it was named
     {
         LGSPEdge newEdge = (LGSPEdge)newEdgeType.CreateEdgeWithCopyCommons(edge.lgspSource, edge.lgspTarget, edge);
         ElemToName[newEdge] = name;
         RetypingEdge(edge, newEdge);
         ReplaceEdge(edge, newEdge);
         ElemToName.Remove(edge);
         NameToElem[name] = newEdge;
         return newEdge;
     }
     else
         return base.Retype(edge, newEdgeType);
 }