Система геометрических ограничений
Система геометрических ограничений это набор геометрических объектов и ограничений, связывающих эти объекты. Типы поддерживаемых геометрических объектов и ограничений приведены соответственно в параграфах Типы поддерживаемой геометрии, Типы геометрических ограничений и размеров. Предполагается, что параметрический эскиз, который создает приложение, с его объектами и ограничениями, имеет свою систему ограничений. С программной точки зрения это означает, что каждый параметрический эскиз ассоциируется с системой ограничений через дескриптор типа GCE_system, а каждый его геометрический объект и ограничение представлены своими уникальными дескрипторами типов geom_item и constraint_item.
Перед тем как начать работать с геометрическими ограничениями эскиза, необходимо объявить для него систему ограничений с помощью вызова функции
GCE_system GCE_CreateSystem().
Функция вернет систему ограничений в виде дескриптора GCE_system, который представляет собой указатель на экземпляр внутренней структуры данных геометрического решателя. Все дальнейшие манипуляции с системой ограничений будут осуществляться через данный дескриптор. Например, если мы хотим объявить точку в эскизе, необходимо для его системы ограничений вызвать функцию
geom_item GCE_AddPoint(GCE_system gSys, GCE_point pVal).
Результатом функции является дескриптор геометрической точки, принадлежащей системе ограничений gSys. Параметр pVal задает начальные координаты <X,Y> точки.
При завершении работы с эскизом обязательно следует вызвать функцию удаления системы ограничений
void GCE_RemoveSystem(GCE_system gSys),
которая полностью освободит память, занимаемую системой ограничений со всеми данными объектов и ограничений. После вызова GCE_RemoveSystem дескриптор системы ограничений становится недействительным, т.е. дальнейшее использование такого дескриптора может привести к аварийному прекращению работы приложения.
Функция
void GCE_ClearSystem(GCE_system gSys)
делает систему ограничений пустой, освобождая память только от объектов и ограничений, но оставляет систему ограничений действительной для дальнейшей работы.