## Выравнивание точек Данный тип ограничения чаще всего используется для выравнивания пары точек по горизонтали или по вертикали. В общем случае данное ограничение будет размещать точки на воображаемой прямой с заданным направлением. Заметим, что оно не гарантирует сохранение порядка точек выравнивания вдоль заданного направления. Выравнивание точек с константным направлением выравнивания задается методом ```cpp constraint_item GCE_AddAlignPoints(GCE_system gSys, geom_item p[2], double ang); ``` Метод принимает систему ограничений **gSys**, пару точек **p\[2\]** и константный угол выравнивания **ang**, а возвращает дескриптор нового ограничения. Параметры пары **p\[0\]** и **p\[1\]** задают дескрипторы выравниваемых точек, а параметр **ang** задается в радианах и определяет направление, вдоль которого будут выравниваться точки. Например, угловое направление $ang = 0$ будет соответствовать выравниванию точек по горизонтали, значение $ang = \pi/2$ будет соответствовать выравниванию по вертикали. Выравнивание точек с варьируемым направлением выравнивания задается методом ```cpp constraint_item GCE_AddAlignPoints(GCE_system gSys, geom_item p[2], geom_item dir); ``` Аналогично методу с константным направлением выравнивания, эта реализация принимает систему ограничений **gSys** и пару точек **p\[2\]**. Параметр **dir** -- любой зарегистрированный в решателе объект, для которого корректен вызов **GCE_GetVectorValue**(gSys, dir, GCE_DIRECTION). Выравнивание произойдёт вдоль направляющего вектора (**GCE_DIRECTION**) линейного объекта или главной полуоси эллипса. Это ограничение можно использовать вместе с **GCE_AddLinearDimension** для задания линейного размера вместо метода **GCE_AddDistance**. Данный способ предпочтительнее, поскольку дает возможность более точно настроить привязки вспомогательных точек в соответствии с ожиданиями пользователя.