Assigning the GCE geometric solver

Within the C3D geometric kernel, the three-dimensional geometric solver has an internal technical designation – GCM (Geometric Constraint Manager). The GCM_ prefix in the names of functions and data structures means that they are related to the three-dimensional solver API. The GCM component calculates the position and coordinates of geometric objects that satisfy a predefined set of constraints and dimensions, ensuring the integrity of the geometric model of an application. The GCM geometric solver is used with such geometric objects as a point, line, plane, circle, sphere, cylinder, cone, toroid, or their combination in rigid sets (Cluster). Positions of geometric objects may be subject to dependencies in the form of constraints from a predefined set of types, including logical constraints: parallelism, perpendicularity, tangency, coincidence, coaxiality, symmetry and various dimensions in distance and angle measurement units.

The core functionality of the geometric solver GCM is available via the gcm_api.h header file. The application interacts with the constraint solver based on simple C++ data structures; all these structures are declared in the gcm_types.h file.