getEdge method
Get point from edge of rect
Implementation
RectEdge getEdge(CardinalDirectionType edge)
{
Coordinate point;
switch (edge)
{
case CardinalDirectionType.NorthWest: // Top left
point = getTopLeft();
return new RectEdge(CardinalDirectionType.NorthWest, point);
case CardinalDirectionType.North: // 12-o-clock (top centre)
point = getTopLeft();
point.x = left + width / 2;
return new RectEdge(CardinalDirectionType.North, point);
case CardinalDirectionType.NorthEast: // Top right
point = getTopLeft();
point.x += width;
return new RectEdge(CardinalDirectionType.NorthEast, point);
case CardinalDirectionType.East: // 3-o-clock (right centre)
point = getTopLeft();
point.x += width;
point.y = top + height / 2;
return new RectEdge(CardinalDirectionType.East, point);
case CardinalDirectionType.SouthEast: // Bottom right
point = getBottomRight();
return new RectEdge(CardinalDirectionType.SouthEast, point);
case CardinalDirectionType.South: // Six-o-clock (bottom centre)
point = getBottomRight();
point.x = left + width / 2;
return new RectEdge(CardinalDirectionType.South, point);
case CardinalDirectionType.SouthWest: // Bottom left
point = getTopLeft();
point.y += height;
return new RectEdge(CardinalDirectionType.SouthWest, point);
case CardinalDirectionType.West: // 9-o-clock (left centre)
point = getTopLeft();
point.y = top + height / 2;
return new RectEdge(CardinalDirectionType.West, point);
}
}