本文整理汇总了C#中EdgeType.CreateEdge方法的典型用法代码示例。如果您正苦于以下问题:C# EdgeType.CreateEdge方法的具体用法?C# EdgeType.CreateEdge怎么用?C# EdgeType.CreateEdge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EdgeType
的用法示例。
在下文中一共展示了EdgeType.CreateEdge方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddEdge
/// <summary>
/// Adds a new edge to the graph.
/// </summary>
/// <param name="edgeType">The edge type for the new edge.</param>
/// <param name="source">The source of the edge.</param>
/// <param name="target">The target of the edge.</param>
/// <returns>The newly created edge.</returns>
public virtual LGSPEdge AddEdge(EdgeType edgeType, LGSPNode source, LGSPNode target)
{
// LGSPEdge edge = new LGSPEdge(edgeType, source, target);
LGSPEdge edge = (LGSPEdge) edgeType.CreateEdge(source, target);
AddEdgeWithoutEvents(edge, edgeType.TypeID);
EdgeAdded(edge);
return edge;
}
示例2: AddEdge
public LGSPEdge AddEdge(EdgeType edgeType, LGSPNode source, LGSPNode target, String elemName)
{
if(elemName != null && NameToElem.ContainsKey(elemName))
throw new ArgumentException("The name \"" + elemName + "\" is already used!");
if(elemName == null)
elemName = GetNextName();
// LGSPEdge edge = new LGSPEdge(edgeType, source, target);
LGSPEdge edge = (LGSPEdge)edgeType.CreateEdge(source, target);
AddEdgeWithoutEvents(edge, edgeType.TypeID);
NameToElem[elemName] = edge;
ElemToName[edge] = elemName;
EdgeAdded(edge);
return edge;
}
示例3: AddEdge
/// <summary>
/// Adds a new edge to the graph and assigns it to the given variable.
/// </summary>
/// <param name="edgeType">The edge type for the new edge.</param>
/// <param name="source">The source of the edge.</param>
/// <param name="target">The target of the edge.</param>
/// <param name="varName">The name of the variable.</param>
/// <returns>The newly created edge.</returns>
public LGSPEdge AddEdge(EdgeType edgeType, LGSPNode source, LGSPNode target, String varName)
{
// LGSPEdge edge = new LGSPEdge(edgeType, source, target);
LGSPEdge edge = (LGSPEdge)edgeType.CreateEdge(source, target);
graph.AddEdgeWithoutEvents(edge, edgeType.TypeID);
SetVariableValue(varName, edge);
graph.EdgeAdded(edge);
return edge;
}
示例4: ParseEdgeDefinition
private IEdge ParseEdgeDefinition(out string edgeName, out EdgeType edgeType)
{
// colon Text lparen dollar equal Text Attributes rparen
Match(TokenKind.COLON);
string typeName = ParseTypeText();
edgeType = graph.Model.EdgeModel.GetType(typeName);
if(edgeType == null) throw new Exception("Unknown edge type: \"" + typeName + "\"");
if(edgeType.IsAbstract) throw new Exception("Abstract edge type \"" + typeName + "\" may not be instantiated!");
Match(TokenKind.LPARENTHESIS);
Match(TokenKind.DOLLAR);
Match(TokenKind.EQUAL);
edgeName = ParseText();
IEdge edge = edgeType.CreateEdge();
while(LookaheadToken() == TokenKind.COMMA)
{
Match(TokenKind.COMMA);
string attribName = ParseText();
Match(TokenKind.EQUAL);
AttributeType attrType = edge.Type.GetAttributeType(attribName);
ParseAttributeValue(edge, attrType);
}
Match(TokenKind.RPARENTHESIS);
return edge;
}