Назначение геометрического решателя GCM
В составе геометрического ядра C3D трехмерный геометрический решатель имеет внутреннее техническое обозначение – GCM (сокр. Geometric Constraint Manager). Префикс GCM_ в именах функций и структур данных говорит о принадлежности к API трехмерного решателя. Компонент GCM вычисляет положение и координаты геометрических объектов, удовлетворяющих заданному набору ограничений и размеров, тем самым обеспечивает целостность геометрической модели приложения. Геометрический решатель GCM имеет дело с такими геометрическими объектами пространства, как точка, прямая, плоскость, окружность, сфера, цилиндр, конус, тор или их объединение в жесткие множества (Кластер). Положение геометрических объектов может быть подчинено, зависимостям в виде ограничений из определенного набора типов, включающего логические ограничения: параллельность, перпендикулярность, касание, совпадение, соосность, симметрия и разного рода размеры в единицах расстояния и угла.
Базовая функциональность геометрического решателя GCM доступна через заголовочный файл gcm_api.h. Взаимодействие приложения с решателем ограничений осуществляется на основе простых структур данных C++, все они объявлены в файле gcm_types.h.