Контрольные точки геометрических объектов
Среди геометрических типов, поддерживаемых решателем (см. параграф Типы поддерживаемой геометрии) особенное место занимает точка. Во-первых, точка самый элементарный геометрический объект. Во-вторых, через точки, называемые контрольными, выражаются все остальные типы геометрии. Например, окружность выражается структурой <C,R>, где С – точка центра, R – скаляр, числовое значение радиуса. В-третьих, контрольные точки могут самостоятельно участвовать в ограничениях, в качестве их аргументов. Например, можно задавать ограничения, как для самой окружности, так и отдельно для её точки, скажем, расстояние от центра окружности до прямой, см. рис. 1.
Рис. 1
С – контрольная точка центра
T – касание окружности и прямой
D – расстояние от центра до прямой
Чтобы работать с контрольной точкой, как с самостоятельной точкой, необходимо запросить её дескриптор у геометрического объекта с помощью функции:
geom_item GCE_PointOf(GCE_system gSys, geom_item g, point_type pnt).
Результатом функции является дескриптор контрольной точки геометрического объекта g, принадлежащего системе ограничений gSys. Параметр pnt определяет какая контрольная точка объекта запрашивается и принимает одно из следующих значений:
GCE_FIRST_END – начальная точка кривой (первый конец);
GCE_SECOND_END – конечная точка кривой (второй конец);
GCE_CENTRE – центр окружности, эллипса, а также их дуги (bounded curve);
GCE_Q1 – квадрантная точка эллипса (3 часа);
GCE_Q2 – квадрантная точка эллипса (12 часов);
GCE_Q3 – квадрантная точка эллипса (6 часов);
GCE_Q4 – квадрантная точка эллипса (9 часов).
Запросить контрольные точки сплайновой кривой позволяет метод
geom_item GCE_SplinePoint(GCE_system gSys, geom_item spl, size_t pntIdx).
Функция вернет дескриптор контрольной точки сплайна spl, взятой по номеру pntIdx, принимающий значения от 0 до N-1, где N – число контрольных точек сплайна. На рис. 2 изображен сплайн, имеющий N = 7 контрольных точек (красные кружки), с нумерацией от 0.
Рис. 2