Please enable JavaScript to view this site.

» Нет разделов более высокого уровня «

ksDistancePntLineForPoint - пример использования

Scroll

reference pObj;

RequestInfo info;

double x, y;

memset (&info, 0, sizeof(info));

info.prompt = "Укажите отрезок";

reference g;

int j = Cursor (&info, &x ,&y, 0);

if (j)

{

//найдем объект и убедимся, что это отрезок

if (ExistObj(pObj = FindObj (x, y, 1e6)) && GetObjParam (pObj, 0, 0, 0) == LINESEG_OBJ)

{

info.prompt = "Укажите точку";

//получим точку

j = Cursor (&info, &x ,&y, 0);

if (j)

{

LineSegParam par;

//берем параметры отрезка

GetObjParam (pObj, &par, sizeof (LineSegParam), ALLPARAM);

//получаем расстояние от точки до отрезка

double len = ksDistancePntLineForPoint (x, y, //координаты точки

par.x1, par.y1, //координаты точки на прямой

par.x2, par.y2); //координаты точки на прямой

char buf[TEXT_LENGTH];

sprintf (buf, "расстояние = %f ", len);

Message (buf);

}

}

else

Error("Это не отрезок");

}

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78