class
	EV_MODEL_EQUILATERAL

General
	cluster: interface
	description: 
		"
		 co
		/ |  \
		   /  |  \ 
		  |  ce   |
		   \      /
		    \    /  
		  -
		  
		Equilateral with side_count sides the same size. ce is center_point and co is corner_point.
		ce == point_array.item (0)
		co == point_array.item (1)
		"
	keywords: "figure, equilateral, hexagon, octagon"
	create: make_with_positions, make_with_points, default_create

Ancestors
	EV_MODEL_CLOSED*
	EV_MODEL_DOUBLE_POINTED*

Action sequences
	conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE
	drop_actions: EV_PND_ACTION_SEQUENCE
	pick_actions: EV_PND_START_ACTION_SEQUENCE
	pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE
	pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE
	pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE

Queries
	accept_cursor: EV_POINTER_STYLE
	angle: REAL_64
	are_events_sended_to_group: BOOLEAN
	background_color: EV_COLOR
	bounding_box: EV_RECTANGLE
	center_point: EV_COORDINATE
	center_point_x: INTEGER_32
	center_point_y: INTEGER_32
	corner_point: EV_COORDINATE
	corner_point_x: INTEGER_32
	corner_point_y: INTEGER_32
	dashed_line_style: BOOLEAN
	deny_cursor: EV_POINTER_STYLE
	foreground_color: EV_COLOR
	group: EV_MODEL_GROUP
	has_capture: BOOLEAN
	id: INTEGER_32
	id_object (an_id: INTEGER_32): IDENTIFIED
	is_center_valid: BOOLEAN
	is_filled: BOOLEAN
	is_hashable: BOOLEAN
	is_in_group: BOOLEAN
	is_in_world: BOOLEAN
	Is_rotatable: BOOLEAN
	Is_scalable: BOOLEAN
	is_sensitive: BOOLEAN
	is_show_requested: BOOLEAN
	Is_transformable: BOOLEAN
	line_width: INTEGER_32
	object_id: INTEGER_32
	pebble: ANY
	pebble_function: FUNCTION [ANY, TUPLE, ANY]
	point_a_x_relative: INTEGER_32
	point_a_y_relative: INTEGER_32
	point_b_relative: EV_COORDINATE
	point_b_x_relative: INTEGER_32
	point_b_y_relative: INTEGER_32
	point_count: INTEGER_32
	point_relative: EV_COORDINATE
	pointer_style: EV_POINTER_STYLE
	polygon_array: ARRAY [EV_COORDINATE]
	position_on_figure (ax, ay: INTEGER_32): BOOLEAN
	side_count: INTEGER_32
	target_name: STRING_GENERAL
	world: EV_MODEL_WORLD
	x: INTEGER_32
	y: INTEGER_32

Commands
	center_invalidate
	disable_capture
	disable_dashed_line_style
	disable_events_sended_to_group
	disable_sensitive
	enable_capture
	enable_dashed_line_style
	enable_events_sended_to_group
	enable_sensitive
	hide
	remove_background_color
	remove_pebble
	rotate (an_angle: REAL_64)
	rotate_around (an_angle: REAL_64; ax, ay: INTEGER_32)
	scale (a_scale: REAL_64)
	scale_abs (a_scale: REAL_64)
	scale_x (a_scale_x: REAL_64)
	scale_x_abs (a_scale_x: REAL_64)
	scale_y (a_scale_y: REAL_64)
	scale_y_abs (a_scale_y: REAL_64)
	set_accept_cursor (a_cursor: EV_POINTER_STYLE)
	set_background_color (a_color: EV_COLOR)
	set_deny_cursor (a_cursor: EV_POINTER_STYLE)
	set_foreground_color (a_color: EV_COLOR)
	set_line_width (a_width: INTEGER_32)
	set_pebble (a_pebble: [like pebble] ANY)
	set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY])
	set_point_a_position (ax, ay: INTEGER_32)
	set_point_a_position_relative (ax, ay: INTEGER_32)
	set_point_b_position (ax, ay: INTEGER_32)
	set_point_b_position_relative (ax, ay: INTEGER_32)
	set_pointer_style (a_cursor: [like pointer_style] EV_POINTER_STYLE)
	set_side_count (n: INTEGER_32)
	set_target_name (a_name: STRING_GENERAL)
	set_x (a_x: INTEGER_32)
	set_x_y (a_x, a_y: INTEGER_32)
	set_y (a_y: INTEGER_32)
	show
	transform (a_transformation: EV_MODEL_TRANSFORMATION)

Constraints
	side count bigger than two