## Назначение геометрического решателя GCM В составе геометрического ядра C3D трехмерный геометрический решатель имеет внутреннее техническое обозначение -- GCM (*сокр. **G**eometric **C**onstraint **M**anager*). Префикс **GCM\_** в именах функций и структур данных говорит о принадлежности к API трехмерного решателя. Компонент GCM вычисляет положение и координаты геометрических объектов, удовлетворяющих заданному набору ограничений и размеров, тем самым обеспечивает целостность геометрической модели приложения. Геометрический решатель GCM имеет дело с такими геометрическими объектами пространства, как точка, прямая, плоскость, окружность, сфера, цилиндр, конус, тор или их объединение в жесткие множества (Кластер). Положение геометрических объектов может быть подчинено, зависимостям в виде ограничений из определенного набора типов, включающего логические ограничения: параллельность, перпендикулярность, касание, совпадение, соосность, симметрия и разного рода размеры в единицах расстояния и угла. Базовая функциональность геометрического решателя GCM доступна через заголовочный файл **gcm_api.h**. Взаимодействие приложения с решателем ограничений осуществляется на основе простых структур данных C++, все они объявлены в файле **gcm_types.h**.