public int CompareTo(object obj)
{
CrossingEdgeInfo cei = (CrossingEdgeInfo) obj;
int result = 0;
switch (_alignment)
{
case EdgeAlignment.Vertical:
if (_crossingPoint.X < cei.CrossingPoint.X)
{
result = -1;
}
else if (_crossingPoint.X > cei.CrossingPoint.X)
{
result = 1;
}
break;
case EdgeAlignment.Horizontal:
if (_crossingPoint.Y < cei.CrossingPoint.Y)
{
result = -1;
}
else if (_crossingPoint.Y > cei.CrossingPoint.Y)
{
result = 1;
}
break;
}
return result;
}