Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "[ rotated elliptic is defined by 4 points: p0-----------p1 |             | |             | |    center   | |             | |             | p3-----------p2 p0.x = point_a.x and p0.y = point_a.y p2.x = point_b.x and p2.y = point_b.y radius1 is half of the distance between p0 and p1 radius2 is half of the distance between p0 and p3 center is in the middle of the line from p0 to p2   ]" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2009-06-10 20:59:07 -0800 (Wed, 10 Jun 2009) $" revision: "$Revision: 79202 $" deferred class interface EV_MODEL_ROTATED_ELLIPTIC feature -- Access angle: REAL_64 -- Rotation angle of Current. arc_cosine (v: REAL_64): REAL_64 -- Trigonometric arccosine of radian v -- in the range [0, pi]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class arc_sine (v: REAL_64): REAL_64 -- Trigonometric arcsine of radian v -- in the range [-pi/2, +pi/2]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class arc_tangent (v: REAL_64): REAL_64 -- Trigonometric arctangent of radian v -- in the range [-pi/2, +pi/2]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class ceiling (v: REAL_64): REAL_64 -- Least integral greater than or equal to v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class cosine (v: REAL_64): REAL_64 -- Trigonometric cosine of radian v approximated -- in the range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class dabs (v: REAL_64): REAL_64 -- Absolute of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class dashed_line_style: BOOLEAN -- Are lines drawn dashed? -- (from EV_MODEL_ATOMIC) Euler: REAL_64 = 2.7182818284590452353602874713526625 -- Logarithm base -- (from MATH_CONST) exp (x: REAL_64): REAL_64 -- Exponential of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class floor (v: REAL_64): REAL_64 -- Greatest integral less than or equal to v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class foreground_color: EV_COLOR -- Color of text, lines, etc. -- (from EV_MODEL_ATOMIC) generating_type: TYPE [detachable EV_MODEL_ROTATED_ELLIPTIC] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty group: detachable EV_MODEL_GROUP -- The group Current is part of. Void if Current is -- not part of a group. -- (from EV_MODEL) id: INTEGER_32 -- Unique id. -- (from EV_MODEL) ensure -- from HASHABLE good_hash_value: Result >= 0 frozen id_object (an_id: INTEGER_32): detachable IDENTIFIED -- Object associated with an_id (void if no such object) -- (from IDENTIFIED) ensure -- from IDENTIFIED consistent: Result = Void or else Result.object_id = an_id line_width: INTEGER_32 -- Thickness of lines. -- (from EV_MODEL_ATOMIC) log (v: REAL_64): REAL_64 -- Natural logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class log10 (v: REAL_64): REAL_64 -- Base 10 logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class log_2 (v: REAL_64): REAL_64 -- Base 2 logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class frozen object_id: INTEGER_32 -- Unique for current object in any given session -- (from IDENTIFIED) ensure -- from IDENTIFIED valid_id: Result > 0 implies id_object (Result) = Current pebble: detachable ANY -- Data to be transported by pick and drop mechanism. -- (from EV_MODEL) pebble_function: detachable FUNCTION [detachable ANY] -- Returns data to be transported by pick and drop mechanism. -- When not Void, `pebble` is ignored. -- (from EV_MODEL) Pi: REAL_64 = 3.1415926535897932384626433832795029 -- (from MATH_CONST) Pi_2: REAL_64 = 1.5707963267948966192313216916397514 -- (from MATH_CONST) Pi_4: REAL_64 = 0.7853981633974483096156608458198757 -- (from MATH_CONST) point_a: EV_COORDINATE -- First point of Current. -- (from EV_MODEL_SINGLE_POINTED) ensure -- from EV_MODEL_SINGLE_POINTED result_exists: Result /= Void result_x_equal_point_x: Result.x = point_a_x result_y_eqyal_point_y: Result.y = point_a_y point_a_x: INTEGER_32 -- x position of `point_a`. point_a_y: INTEGER_32 -- y position of `point_a` point_b: EV_COORDINATE -- Second point of Current. -- (from EV_MODEL_DOUBLE_POINTED) ensure -- from EV_MODEL_DOUBLE_POINTED result_exists: Result /= Void result_x_equal_point_b_x: Result.x = point_b_x result_y_equal_point_b_y: Result.y = point_b_y point_b_relative: EV_COORDINATE -- `point_b` relative to `group`.point. -- (from EV_MODEL_DOUBLE_POINTED) ensure -- from EV_MODEL_DOUBLE_POINTED result_exists: Result /= Void result_x_equal_point_b_x_relative: Result.x = point_b_x_relative result_y_eqyal_point_b_y_relative: Result.y = point_b_y_relative point_b_x: INTEGER_32 -- x position of pint_b. point_b_x_relative: INTEGER_32 -- horizontal distance between `point_b_x` and `group`.point_x. -- (from EV_MODEL_DOUBLE_POINTED) point_b_y: INTEGER_32 -- y position of `point_b`. point_b_y_relative: INTEGER_32 -- vertical distance between `point_b_y` and `group`.point_y. -- (from EV_MODEL_DOUBLE_POINTED) point_count: INTEGER_32 -- Current has two points. -- (from EV_MODEL_DOUBLE_POINTED) require -- from EV_MODEL_SINGLE_POINTED True require -- from EV_MODEL True ensure -- from EV_MODEL correct: Result = point_array.count point_relative: EV_COORDINATE -- point relative to `group`.point. -- (from EV_MODEL_SINGLE_POINTED) ensure -- from EV_MODEL_SINGLE_POINTED result_exists: Result /= Void result_x_equal_point_x_relative: Result.x = point_a_x_relative result_y_eqyal_point_y_relative: Result.y = point_a_y_relative point_a_x_relative: INTEGER_32 -- horizontal distance between point_x and `group`.point_x. -- (from EV_MODEL_SINGLE_POINTED) point_a_y_relative: INTEGER_32 -- vertical distance between point_y and `group`.point_y. -- (from EV_MODEL_SINGLE_POINTED) pointer_style: detachable EV_POINTER_STYLE -- Cursor displayed when pointer is over this figure. -- (from EV_MODEL) radius1: INTEGER_32 -- Major radius. radius2: INTEGER_32 -- Minor radius. sine (v: REAL_64): REAL_64 -- Trigonometric sine of radian v approximated -- in range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class sqrt (v: REAL_64): REAL_64 -- Square root of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Sqrt2: REAL_64 = 1.4142135623730950488016887242096981 -- Square root of 2 -- (from MATH_CONST) tangent (v: REAL_64): REAL_64 -- Trigonometric tangent of radian v approximated -- in range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class target_data_function: detachable FUNCTION [like pebble, EV_PND_TARGET_DATA] -- Function for computing target meta data based on source pebble. -- Primarily used for Pick and Drop target menu. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) note option: stable target_name: detachable READABLE_STRING_GENERAL -- Optional textual name describing Current pick and drop hole. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) note option: stable world: detachable EV_MODEL_WORLD -- The world Current is part of. Void if Current is -- not part of a world -- (from EV_MODEL) x: INTEGER_32 -- `x` position of the center on the screen. -- (from EV_MODEL) y: INTEGER_32 -- `y` position of the center on the screen . -- (from EV_MODEL) feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: EV_MODEL_ROTATED_ELLIPTIC): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: EV_MODEL_ROTATED_ELLIPTIC): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "" (other: EV_MODEL_ROTATED_ELLIPTIC): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void frozen id_freed: BOOLEAN -- Has Current been removed from the table? -- (from IDENTIFIED) is_hashable: BOOLEAN -- May current object be hashed? -- (True by default.) -- (from HASHABLE) same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Status setting disable_dashed_line_style -- Draw lines solid. -- (from EV_MODEL_ATOMIC) ensure -- from EV_MODEL_ATOMIC dashed_line_style_disabled: not dashed_line_style enable_dashed_line_style -- Draw lines dashed. -- (from EV_MODEL_ATOMIC) ensure -- from EV_MODEL_ATOMIC dashed_line_style_enabled: dashed_line_style set_foreground_color (a_color: like foreground_color) -- Assign a_color to `foreground_color`. -- (from EV_MODEL_ATOMIC) require -- from EV_MODEL_ATOMIC a_color_not_void: a_color /= Void ensure -- from EV_MODEL_ATOMIC foreground_color_assigned: foreground_color = a_color set_line_width (a_width: INTEGER_32) -- Assign a_width to `line_width`. -- (from EV_MODEL_ATOMIC) require -- from EV_MODEL_ATOMIC a_width_non_negative: a_width >= 0 ensure -- from EV_MODEL_ATOMIC line_width_assigned: line_width = a_width set_point_b_position_relative (ax, ay: INTEGER_32) -- Set position of `point_b_relative` to (ax, ay). -- (from EV_MODEL_DOUBLE_POINTED) set_point_a_position_relative (ax, ay: INTEGER_32) -- Set position of `point_relative` to (ax, ay). -- (from EV_MODEL_SINGLE_POINTED) set_target_data_function (a_function: FUNCTION [like pebble, EV_PND_TARGET_DATA]) -- Set a_function to compute target meta data based on transport source. -- Overrides any `target_name` set with `set_target_name`. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_function_not_void: a_function /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE target_data_function_assigned: target_data_function /= Void and then target_data_function.is_equal (a_function) set_target_name (a_name: READABLE_STRING_GENERAL) -- Assign a_name to `target_name`. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_name_not_void: a_name /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE target_name_assigned: attached target_name as l_target_name and then a_name /= l_target_name and then a_name.same_string (l_target_name) feature -- Element change remove_pebble -- Make `pebble` Void and `pebble_function` `Void, -- Removing transport. -- (from EV_MODEL) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_removed: pebble = Void and pebble_function = Void rotate (an_angle: REAL_64) -- Rotate around the center for an_angle. -- (from EV_MODEL) require -- from EV_MODEL is_rotatable: Is_rotatable ensure -- from EV_MODEL center_valid: is_center_valid rotate_around (an_angle: REAL_64; ax, ay: INTEGER_32) -- Rotate around (ax, ay) for an_angle. -- (from EV_MODEL) require -- from EV_MODEL is_rotatable: Is_rotatable ensure -- from EV_MODEL center_valid: is_center_valid scale (a_scale: REAL_64) -- Scale to x and y direction for a_scale. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_bigger_zero: a_scale > 0.0 scale_abs (a_scale: REAL_64) -- Scale to x and y direction for a_scale. -- Do not rotate around `angle` first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_bigger_zero: a_scale > 0.0 scale_x (a_scale_x: REAL_64) -- Scale to x direction for a_scale_x. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_x_bigger_zero: a_scale_x > 0.0 scale_x_abs (a_scale_x: REAL_64) -- Scale absolute to x direction for a_scale_x. -- Do not rotate around `angle` first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_x_bigger_zero: a_scale_x > 0.0 scale_y (a_scale_y: REAL_64) -- Scale to y direction for a_scale_y. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_y_bigger_zero: a_scale_y > 0.0 scale_y_abs (a_scale_y: REAL_64) -- Scale to y direction for a_scale_y. -- Do not rotate around `angle` first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: Is_scalable a_scale_y_bigger_zero: a_scale_y > 0.0 set_accept_cursor (a_cursor: detachable like accept_cursor) -- Set a_cursor to be displayed when the screen pointer is over a -- target that accepts `pebble` during pick and drop. -- (from EV_MODEL) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE accept_cursor_assigned: attached a_cursor as l_accept_cursor implies l_accept_cursor ~ accept_cursor set_deny_cursor (a_cursor: detachable like deny_cursor) -- Set a_cursor to be displayed when the screen pointer is not -- over a valid target. -- (from EV_MODEL) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE deny_cursor_assigned: attached a_cursor as l_deny_cursor implies l_deny_cursor ~ deny_cursor set_pebble (a_pebble: like pebble) -- Assign a_pebble to `pebble`. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_pebble_not_void: a_pebble /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_assigned: pebble = a_pebble set_pebble_function (a_function: attached like pebble_function) -- Set a_function to compute `pebble`. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_function_not_void: a_function /= Void a_function_takes_two_integer_open_operands: a_function.valid_operands ([1, 1]) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_function_assigned: pebble_function = a_function set_point_a_position (ax, ay: INTEGER_32) -- Set position of `point_a` to (ax, ay). -- (See EV_FIGURE_PARALLELOGRAM) for more informations.) set_point_b_position (ax, ay: INTEGER_32) -- Set position of `point_b` to position of (ax, ay). -- (See EV_FIGURE_PARALLELOGRAM for more informations) set_pointer_style (a_cursor: like pointer_style) -- Assign a_cursor to `pointer_style`. -- (from EV_MODEL) require -- from EV_MODEL a_cursor_not_void: a_cursor /= Void ensure -- from EV_MODEL pointer_style_assigned: pointer_style = a_cursor set_radius1 (radius: INTEGER_32) -- Set `radius1` to radius. -- (See EV_FIGURE_PARALLELOGRAM for information about implementation) require radius_positive: radius >= 0 ensure set: (distance (point_array.item (0).x_precise, point_array.item (0).y_precise, point_array.item (1).x_precise, point_array.item (1).y_precise) / 2.to_double).rounded = radius set_radius2 (radius: INTEGER_32) -- Set `radius2` to radius require radius_positive: radius >= 0 ensure set: (distance (point_array.item (0).x_precise, point_array.item (0).y_precise, point_array.item (3).x_precise, point_array.item (3).y_precise) / 2.to_double).rounded = radius set_x (a_x: INTEGER_32) -- Set `x` to an_x. -- (from EV_MODEL) ensure -- from EV_MODEL x_set: a_x = x center_valid: is_center_valid set_x_y (a_x, a_y: INTEGER_32) -- Set `x` to a_x and `y` to a_y. -- (from EV_MODEL) ensure -- from EV_MODEL set: a_x = x and a_y = y center_valid: is_center_valid set_y (a_y: INTEGER_32) -- Set `y` to an_y. -- (from EV_MODEL) ensure -- from EV_MODEL y_set: a_y = y center_valid: is_center_valid transform (a_transformation: EV_MODEL_TRANSFORMATION) -- Transform all points in `point_array` using a_transformation. -- You can do any transformation you want. You can -- for example rotate Current around an other point -- than the center. -- (from EV_MODEL) require -- from EV_MODEL a_transformation_not_void: a_transformation /= Void is_transformable: Is_transformable feature -- Removal dispose -- Free the entry associated with `object_id` if any -- (from IDENTIFIED) require -- from DISPOSABLE True ensure then -- from IDENTIFIED object_freed: id_freed frozen free_id -- Free the entry associated with `object_id` if any. -- (from IDENTIFIED) ensure -- from IDENTIFIED object_freed: id_freed feature -- Duplication copy (other: EV_MODEL_ROTATED_ELLIPTIC) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: EV_MODEL_ROTATED_ELLIPTIC) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: EV_MODEL_ROTATED_ELLIPTIC -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: EV_MODEL_ROTATED_ELLIPTIC) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: EV_MODEL_ROTATED_ELLIPTIC -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: EV_MODEL_ROTATED_ELLIPTIC -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable EV_MODEL_ROTATED_ELLIPTIC -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Implementation between (n, a, b: REAL_64): BOOLEAN -- Is n a value between a and b? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class delta_x (angle: REAL_64; length: REAL_64): REAL_64 -- Get dx component of line segment with length and `angle`. -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class delta_y (angle: REAL_64; length: REAL_64): REAL_64 -- Get dy component of line segment with length and `angle`. -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class distance (x1, y1, x2, y2: REAL_64): REAL_64 -- Calculate distance between (x1, y1) and (x2, y2). -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class distance_from_line (x, y, x1, y1, x2, y2: REAL_64): REAL_64 -- Calculate distance between (`x`, `y`) and (x1, y1)-(x2, y2). -- The line is considered to be infinite. -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class line_angle (x1, y1, x2, y2: REAL_64): REAL_64 -- Return angle of line from (x1, y1) to (x2, y2) relative to world. -- clockwise. 0.0 is 3 o'clock. -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class modulo (a, b: REAL_64): REAL_64 -- a modulo b. -- (from EV_MODEL_DOUBLE_MATH) require -- from EV_MODEL_DOUBLE_MATH divisible: b /= 0.0 ensure -- from EV_MODEL_DOUBLE_MATH in_interval: Result >= 0.0 and Result < b instance_free: class point_on_ellipse (x, y, xc, yc, r1, r2: REAL_64): BOOLEAN -- Is (`x`, `y`) inside specified ellipse? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH equals_point_on_rotated: Result = point_on_rotated_ellipse (x, y, xc, yc, r1, r2, 0.0) instance_free: class point_on_ellipse_boundary (x, y, xc, yc, r1, r2, width: REAL_64): BOOLEAN -- Is (`x`, `y`) on specified ellipse border? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_line (x, y, x1, y1, x2, y2, width: REAL_64): BOOLEAN -- Is (`x`, `y`) on line from (x2, y2) to (x1, y1) with width? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_polygon (x, y: REAL_64; points: SPECIAL [EV_COORDINATE]): BOOLEAN -- Is (`x`, `y`) contained in polygon with points? -- Based on code by Hanpeter van Vliet. -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_rectangle (x, y, x1, y1, x2, y2: REAL_64): BOOLEAN -- Is (`x`, `y`) inside specified box? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_rotated_ellipse (x, y, xc, yc, r1, r2, angle: REAL_64): BOOLEAN -- Is ('x', `y`) inside specified ellipse? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_rotated_ellipse_boundary (x, y, xc, yc, r1, r2, angle, width: REAL_64): BOOLEAN -- Is (`x`, `y`) on specified ellipse border? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class point_on_segment (x, y, x1, y1, x2, y2, width: REAL_64): BOOLEAN -- Is (`x`, `y`) on segment [(x2, y2), (x1, y1)] with width? -- (from EV_MODEL_DOUBLE_MATH) ensure -- from EV_MODEL_DOUBLE_MATH instance_free: class feature -- Action sequences conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when a pebble that fits this hole is -- picked up from another source. -- (when drop_actions.accepts_pebble (pebble)) -- (from EV_MODEL) drop_actions: EV_PND_ACTION_SEQUENCE -- Actions to take when pick and drop transport drops on Current. -- (from EV_MODEL) pick_actions: EV_PND_START_ACTION_SEQUENCE -- Actions to be performed when `pebble` is picked up. -- (from EV_MODEL) pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer button is pressed. -- (from EV_MODEL) pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer button is released. -- (from EV_MODEL) pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer is double clicked. -- (from EV_MODEL) pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when screen pointer enters widget. -- (from EV_MODEL) pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when screen pointer leaves widget. -- (from EV_MODEL) pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE -- Actions to be performed when screen pointer moves. -- (from EV_MODEL) feature -- Events bounding_box: EV_RECTANGLE -- Smallest orthogonal rectangular area Current fits in. -- (from EV_MODEL_ATOMIC) ensure -- from EV_MODEL result_not_void: Result /= Void internal_is_twin: internal_bounding_box /= Result position_on_figure (a_x, a_y: INTEGER_32): BOOLEAN -- Is the point on (a_x, a_y) on this figure? -- (from EV_MODEL) update_rectangle_to_bounding_box (a_bbox: EV_RECTANGLE) -- Update a_bbox to match `bounding_box` of Current. -- (from EV_MODEL) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- Status Report accept_cursor: EV_POINTER_STYLE -- Accept cursor set by user. -- To be displayed when the screen pointer is over a target that accepts -- `pebble` during pick and drop. -- (from EV_MODEL) are_events_sent_to_group: BOOLEAN -- Are events for `pointer_motion_actions`, `pointer_button_press_actions`, -- `pointer_double_press_actions`,  `pointer_button_release_actions` -- `pointer_enter_actions` and `pointer_leave_actions` send to Currents -- group (if any) even if Current catch the event. (Default True). -- (from EV_MODEL) deny_cursor: EV_POINTER_STYLE -- Deny cursor set by user. -- To be displayed when the screen pointer is not over a valid target. -- (from EV_MODEL) has_capture: BOOLEAN -- Are all events sent to Current? -- (from EV_MODEL) is_center_valid: BOOLEAN -- Is the position of the center valid? -- (from EV_MODEL) is_in_group: BOOLEAN -- Is Current part of a group? -- (from EV_MODEL) ensure -- from EV_MODEL group_defines_is_in_group: Result = (group /= Void) is_in_world: BOOLEAN -- Is Current part of a world? -- (from EV_MODEL) ensure -- from EV_MODEL world_defines_is_in_world: Result = (world /= Void) Is_rotatable: BOOLEAN = True -- Is rotatable? (Yes) Is_scalable: BOOLEAN = False -- Is scalable? (Yes) is_sensitive: BOOLEAN -- Is object sensitive to user input? -- (from EV_MODEL) is_show_requested: BOOLEAN -- Will Current be displayed when its parent is? -- (from EV_MODEL) Is_transformable: BOOLEAN = False -- Is transformable? (No) feature -- Status settings disable_capture -- Disable grab of all events on `world`. -- (from EV_MODEL) require -- from EV_MODEL in_world: world /= Void has_capture: has_capture ensure -- from EV_MODEL capture_released: not has_capture disable_events_sended_to_group -- Set `are_events_sent_to_group` to False. -- (from EV_MODEL) ensure -- from EV_MODEL events_blocked: not are_events_sent_to_group disable_sensitive -- Make object non-sensitive to user input. -- (from EV_MODEL) ensure -- from EV_MODEL insensitive_requested: not internal_is_sensitive enable_capture -- Grab all mouse events for `world`. -- (from EV_MODEL) require -- from EV_MODEL in_world: world /= Void ensure -- from EV_MODEL capture_set: has_capture enable_events_sended_to_group -- Set `are_events_sent_to_group` to True. -- (from EV_MODEL) ensure -- from EV_MODEL events_sended_to_group: are_events_sent_to_group enable_sensitive -- Make object sensitive to user input. -- (from EV_MODEL) ensure -- from EV_MODEL sensitive_requested: internal_is_sensitive hide -- Request that Current not be displayed even when its `group` is. -- (from EV_MODEL) ensure -- from EV_MODEL not_is_show_requested: not is_show_requested show -- Request that Current be displayed when its `group` is. -- True by default. -- (from EV_MODEL) ensure -- from EV_MODEL is_show_requested: is_show_requested feature -- Visitor project (a_projector: EV_MODEL_DRAWING_ROUTINES) -- Project Current onto a_projector. -- (from EV_MODEL) feature --{EV_FIGURE} -- Status settings center_invalidate -- The position of the center may have changed. -- (from EV_MODEL) invariant -- from EV_MODEL_ATOMIC foreground_color_exists: foreground_color /= Void line_width_non_negative: line_width >= 0 -- from EV_MODEL point_array_exists: point_array /= Void center_exists: center /= Void x_is_center_x: is_center_valid implies x = center.x y_is_center_y: is_center_valid implies y = center.y all_points_exist: all_points_exist (point_array) projection_matrix_not_void: projection_matrix /= Void is_transfomable_implies_rotatable_and_scalable: Is_transformable implies (Is_rotatable and Is_scalable) -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2006, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class EV_MODEL_ROTATED_ELLIPTIC
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: eiffel.org