Геометрические Утилиты
Одна группа функций дает возможность приложениям получить геометрическую информацию.
AcutDistance () функция находит, что расстояние между двумя точками, acutAngle () находит угол между линией, и X ось текущих ВЕРХНИХ РЕГИСТРОВ (в КООРДИНАТНОМ плане), и acutPolar () находит точку посредством полярных координат (относительно начальной точки). В отличие от большинства функций ObjectARX, эти функции не возвращают значение состояния. AcdbInters () функция находит пересечение двух линий; это возвращает RTNORM, если это находит точку, которая соответствует спецификации.
ОБРАТИТЕ ВНИМАНИЕ В отличие от acedOsnap (), функции в этой группе просто вычисляют точку, линию, или угловые значения, и фактически не сделают запрос текущего рисунка.
Следующий типовой кодовый фрагмент показывает некоторый простой, вызывает к геометрическим сервисным функциям.
ads_point pt1, pt2;
ads_point base, endpt;
ads_real rads, length;
.
. // Инициализирует pt1 и pt2.
.
// Возвратить угол в КООРДИНАТНОМ плане текущих ВЕРХНИХ РЕГИСТРОВ, в радианах.
rads = acutAngle (pt1, pt2);
// Расстояние Возвращения в трехмерном пространстве{*пробеле*}.
length = acutDistance (pt1, pt2);
base [X] = 1.0; base [Y] = 7.0; base [Z] = 0.0;
acutPolar (base, rads, length, endpt);
Запрос к acutPolar () устанавливает endpt в точку, которая является тем же самым расстоянием от (1,7), поскольку pt1 - от pt2, и это - под тем же самым углом от X оси как угол между pt1 и pt2.