Primitive Geometric Types

The Fundamental Geometry Types component groups the following packages:

- the geometric processor package (gp), and

- the GeomAbs package which provides enumerations generally used in geometry.

The gp package is a STEP-compliant implementation of basic geometric and algebraic entities, used to define and manipulate elementary data structures.

In particular, gp provides:

- descriptions of elementary geometric shapes:

- points,

- vectors,

- lines,

- circles and conics,

- planes and elementary surfaces,

- positioning of these shapes in space or in a plane by means of an axis or a coordinate system,

- definition and application of geometric transformations to these shapes:

- translations,

- rotations,

- symmetries,

- scaling transformations, and

- composed transformations,

- tools (coordinates and matrices) for algebraic computation.

These functions are defined in 3D space and in the plane.

gp curves and surfaces are analytic: there is no parameterization and no orientation on gp entities, i.e. these entities do not provide functions which work with these properties. If you need, you may use more evolved data structures provided by Geom (in 3D space) and Geom2d (in the plane). However, the definition of gp entities is identical to the one of equivalent Geom and Geom2d entities, and they are located in the plane or in space with the same kind of positioning systems. They implicitly contain the orientation, which they express on the Geom and Geom2d entities, and they induce the definition of their parameterization.

Therefore, it is easy to give an implicit parameterization to gp curves and surfaces, which is the parametarization of the equivalent Geom or Geom2d entity. This property is particularly useful when computing projections or intersections, or for operations involving complex algorithms where it is particularly important to manipulate the simplest data structures, i.e. those of gp. Thus, the ElCLib and ElSLib packages provide functions to compute:

- the point of parameter u on a 2D or 3D gp curve,

- the point of parameter (u,v) on a gp elementary surface, and

- any derivative vector at this point.

Note: the gp entities cannot be shared when they are inside more complex data structures.