=encoding UTF-8 =head1 НАИМЕНОВАНИЕ BH_Ray3f, BH_Segment3f - луч/сегмент в пространстве =head1 СИНТАКСИС #include cc prog.c -o prog -lbh =head1 ОПИСАНИЕ Данный модуль предоставляет функции для работы с лучами и сегментами в трёхмерном пространстве. Он включает в себя методы для проверки пересечений лучей и сегментов с плоскостями, треугольниками и ограничивающими прямоугольниками. =head1 API ВЫЗОВЫ =head2 BH_Ray3fIntersectPlane int BH_Ray3fIntersectPlane(const float start[3], const float direction[3], const float plane[4], float *t, float out[3]); Проверяет пересечение между лучом и плоскостью. Параметры I и I описывают луч. Параметр I описывает плоскость. Параметр I описывает результирующее время пересечения луча. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head2 BH_Ray3fIntersectTriangle int BH_Ray3fIntersectTriangle(const float start[3], const float direction[3], const float a[3], const float b[3], const float c[3], float *t, float out[3]); Проверяет пересечение между лучом и треугольником. Параметры I и I описывают луч. Параметры I, I, I описывают точки треугольника. Параметр I описывает результирующее время пересечения луча. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head2 BH_Segment3fIntersectPlane int BH_Segment3fIntersectPlane(const float start[3], const float end[3], const float plane[4], float *t, float out[3]); Проверяет пересечение между сегментом и плоскостью. Параметры I и I описывают сегмент. Параметр I описывает плоскость. Параметр I описывает результирующее время пересечения сегмента. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head2 BH_Segment3fIntersectTriangle int BH_Segment3fIntersectTriangle(const float start[3], const float end[3], const float a[3], const float b[3], const float c[3], float *t, float out[3]); Проверяет пересечение между сегментом и треугольником. Параметры I и I описывают сегмент. Параметры I, I, I описывают точки треугольника. Параметр I описывает результирующее время пересечения луча. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head2 BH_Ray3fIntersectBox3f int BH_Ray3fIntersectBox3f(const float aStart[3], const float aDirection[3], const float bMin[3], const float bMax[3], float *t, float out[3]); Проверяет пересечение между лучом и ограничивающим прямоугольником. Параметры I и I описывают луч. Параметры I и I описывают ограничивающий прямоугольник. Параметр I описывает результирующее время пересечения первого сегмента. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head2 BH_Segment3fIntersectBox3f int BH_Segment3fIntersectBox3f(const float aStart[3], const float aEnd[3], const float bMin[3], const float bMax[3], float *t, float out[3]); Проверяет пересечение между сегментом и ограничивающим прямоугольником. Параметры I и I описывают сегмент. Параметры I и I описывают ограничивающий прямоугольник. Параметр I описывает результирующее время пересечения первого сегмента. Параметр I описывает результирующую точку пересечения. В случае успеха функция возвращает 0, в случае ошибки - код ошибки. =head1 СМ. ТАКЖЕ L