static private OppositeEdge ( EdgeDir dir ) : EdgeDir | ||
dir | EdgeDir | |
리턴 | EdgeDir |
internal static EdgeDir OppositeEdge(EdgeDir dir)
{
switch (dir)
{
case EdgeDir.Left:
return EdgeDir.Right;
case EdgeDir.Right:
return EdgeDir.Left;
case EdgeDir.CenterX:
return EdgeDir.CenterX;
case EdgeDir.Up:
return EdgeDir.Down;
case EdgeDir.Down:
return EdgeDir.Up;
}
return EdgeDir.CenterY;
}
private static bool ShouldEdgesSnap(SnapEdge a, SnapEdge b) { if ((a.dir == SnapEdge.EdgeDir.CenterX || a.dir == SnapEdge.EdgeDir.CenterY) && a.dir == b.dir) { return(true); } if (a.dir == SnapEdge.OppositeEdge(b.dir)) { return(((double)a.start > (double)b.end ? 1 : ((double)a.end < (double)b.start ? 1 : 0)) == 0); } return(false); }