функция ksIntersectArcLin дает FALSE?

Автор JiММ, 23.11.04, 08:02:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

JiММ

Здравствуйте! Объясните, почему булевская функция ksIntersectArcLin
никогда не дает значения FALSE. Если точки пересечения не найдено,
то выводится сообщение библиотеки "Неверный индекс массива", а не обработка значения FALSE.

if iMath.ksIntersectArcLin(CurveParExt.xc, CurveParExt.yc,
           CurveParExt.rad, CurveParExt.ang1, CurveParExt.ang2,
           CurveParExt.dir,
           xInt, yInt, angl, intersectArr) = TRUE then
begin
...
end
else
begin
//вот это место не работает никогда, даже если точка пересеч. не
//найдена
end;

Спасибо.

333

Функция ksIntersectArcLin и другие аналогичные ей функции возвращают FALSE в случае ошибки. Например если передали неверный интерфейс массива точек для заполнения.  

Определить количество найденных точек пересечения можно по количеству элементов в массиве.

 

JiММ

т.о. получается с помощью этой функции нельзя проверить есть ли точка пересечения дуги и прямой? а ведь в описании сказано, что функция возвращает ЛОЖЬ, если точки пересечения не найдено! обманули?
из хелпа:
---
Возвращаемое значение
TRUE    - пересечение данных объектов обнаружено
FALSE   - пересечения не обнаружено.
---

тогда каким образом узнать пересекаются ли объекты?

333

по количеству элементов в массиве
см выше