本文整理汇总了C#中Site.AddEdge方法的典型用法代码示例。如果您正苦于以下问题:C# Site.AddEdge方法的具体用法?C# Site.AddEdge怎么用?C# Site.AddEdge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Site
的用法示例。
在下文中一共展示了Site.AddEdge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Edge
public Edge(Site s1, Site s2) {
Region = new Site[2];
Endpoint = new Site[2];
ClippedEndpoints = new Site[2];
Region[Side.Left] = s1;
Region[Side.Right] = s2;
EdgeNum = EdgeCount++;
s1.AddEdge(this);
s2.AddEdge(this);
}
示例2: CreateBisectingEdge
public static Edge CreateBisectingEdge(Site s0, Site s1)
{
var dx = s1.X - s0.X;
var dy = s1.Y - s0.Y;
var absDx = dx > 0 ? dx : -dx;
var abdDy = dy > 0 ? dy : -dy;
var c = s0.X*dx + s0.Y*dy + (dx*dx + dy*dy)*0.5f;
float a, b;
if (absDx > abdDy) {
a = 1.0f;
b = dy/dx;
c /= dx;
} else {
b = 1.0f;
a = dx/dy;
c /= dy;
}
var edge = new Edge {
LeftSite = s0,
RightSite = s1
};
s0.AddEdge(edge);
s1.AddEdge(edge);
edge._leftVertex = null;
edge._rightVertex = null;
edge._a = a;
edge._b = b;
edge._c = c;
Console.WriteLine("CreateBisectingEdge: a {0} b {1} c {2} - {3}", edge._a, edge._b, edge._c, edge._edgeIndex);
return edge;
}