[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]
![]() |
EiffelGeo: Eiffel Basic Geometry Cluster |
Written by Javier Alonso.
EiffelGeo.zip (24,468 bytes) - source code
This small cluster was created as a part of a CAD CAM system still under development. Its basic functionality is to provide access to the most basic geometry calculations, as needed in such a system to create and store descriptions of the tool paths necessary to manufacture parts in a CNC controlled machine-tool.
The cluster itself and any subsequent releases or derivates is understood to be distributed under the Eiffel Forum Freeware License (See included file forum_license.txt).
The cluster is composed by the following classes:
pick_point : INTEGER pick_x, pick_y : DOUBLE
and two deferred queries:
id : INTEGER, to assure correct assignement with ?=
and is_under_rect(x1, y1, x2, y2 : DOUBLE ) : BOOLEAN to check if the item is picked and fulfill pick_point and pick coordinates.
The effective descendants of cad_item implemented until now are:
And the rest of auxiliar files:
At the moment of writing ( mid Sep. 1998 ), this cluster is still in its infancy. It has fulfilled my punctual needs in my systems under actual development and seems to work as intended. Anyway, the lack of a more complete geometry library for Eiffel ( and my future needs, too! ) makes me think as worthwhile the effort of extending and refining this very basic bunch of classes with the following subclusters ( some of them in some stage of planning and even alpha testing ):
The data structure being almost totally mine ( or obvious ), the vast majority of the algorithms employed have been extracted from classic text books, the Wavefront file format specs and, most of them, from the classic Graphics Gems collection.
[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]