Maintainer
Javier Alonso
Description
EiffelGeo is a basic geometry cluster, developed as 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.
Categories
Versions
Links
Features
The cluster consists of the following classes:
- cad_item: The generic (and deferred)
anchor class. It introduces three attributes used when
determining where the item is picked under some cursor
position:
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.
- cad_item_constants, from which cad_item
inherits, defines the identity constants for the heirs of
cad_item and the pick_point places.
The effective descendants of cad_item
are:
- line, straight line in 3D space.
- circle, arc and ellipse
flat figures with accessory Z component.
- catrom Catmull-Rom curve, also known as
spline under tension and other names, useful due to the
fact that it passes over all its control points.
And the rest of auxiliary files:
- parametric_comparisons introduces
boolean comparisons of magnitudes within a tolerance
factor.
- double_geo, heir of double_geo_constants
provides some basic functions, trigonometry and the like,
all with DOUBLE precission types.
- point_3d, basic supplier for cad_item
heirs, inherits from the former two.
- ple_xy and ile_xy are
the two equations for the line in 2D space, useful for
intersection evaluation.
- np_dxf_file is a first attempt to read
DXF files á la object oriented. Maybe should be
subclustered in its own. It is still somewhat a draft, used
to read only LINE, ARC and CIRCLE entities.
Supported compilers
Licensing