class interface POINT
creation
make
-- Create.
ensure
ok: is_origin
make_coord (ex, ey: INTEGER)
-- Create from coordinates.
ensure
done: x = ex and y = ey
from_string (str: STRING)
-- Init object from string.
require
valid: str /= Void
ensure
done: -- success implies to_string.is_equal(str)
feature(s) from P_TEXT_OBJECT
-- Public interface
to_string: STRING
ensure
is_copy: Result /= Void
from_string (str: STRING)
-- Init object from string.
require
valid: str /= Void
ensure
done: -- success implies to_string.is_equal(str)
feature(s) from POINT
out: STRING
-- String representation.
feature(s) from POINT
-- Actual coordinates
x: INTEGER
feature(s) from POINT
-- Actual coordinates
y: INTEGER
feature(s) from POINT
-- Set point coordinates
set_x (xc: INTEGER)
-- Set the horizontal coordinate.
set_y (yc: INTEGER)
-- Set the vertical coordinate.
feature(s) from POINT
-- Helper procedures
set_xy (cx, cy: INTEGER)
-- Set both coordinates.
feature(s) from POINT
-- Point operations
is_origin: BOOLEAN
-- Is the point the origin (0, 0)?
is_less_horizontally (other: POINT): BOOLEAN
ensure
done: Result = (x <= other.x)
is_less_vertically (other: POINT): BOOLEAN
ensure
done: Result = (y <= other.y)
is_less (other: POINT): BOOLEAN
ensure
done: Result = (is_less_horizontally(other) and then is_less_vertically(other))
end of POINT