public DirectionalSegment IncrementRight(int amount)
        {
            DirectionalSegment result = new DirectionalSegment(Top, Left, enumDirection.None, GroupID);

            switch (Direction)
            {
            case enumDirection.North:
                result.Direction = enumDirection.East;
                result.Left     += amount;
                break;

            case enumDirection.East:
                result.Direction = enumDirection.South;
                result.Top      += amount;
                break;

            case enumDirection.South:
                result.Direction = enumDirection.West;
                result.Left     -= amount;
                break;

            case enumDirection.West:
                result.Direction = enumDirection.North;
                result.Top--;
                break;
            }
            return(result);
        }
        public DirectionalSegment IncrementForwards(int amount)
        {
            DirectionalSegment result = new DirectionalSegment(Top, Left, Direction, GroupID);

            switch (Direction)
            {
            case enumDirection.North:
                result.Top -= amount;
                break;

            case enumDirection.East:
                result.Left += amount;
                break;

            case enumDirection.South:
                result.Top += amount;
                break;

            case enumDirection.West:
                result.Left -= amount;
                break;
            }
            return(result);
        }