Doxygen kind'a sucks and I need multilanguage documentation, so I did that. Also, separated massive Math.h file into smaller files.
162 lines
6.3 KiB
Plaintext
162 lines
6.3 KiB
Plaintext
=encoding UTF-8
|
||
|
||
|
||
=head1 НАИМЕНОВАНИЕ
|
||
|
||
BH_Ray3f, BH_Segment3f - луч/сегмент в пространстве
|
||
|
||
|
||
=head1 СИНТАКСИС
|
||
|
||
#include <BH/Math/Ray3f.h>
|
||
|
||
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<start> и I<direction> описывают луч.
|
||
|
||
Параметр I<plane> описывает плоскость.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения луча.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 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<start> и I<direction> описывают луч.
|
||
|
||
Параметры I<a>, I<b>, I<c> описывают точки треугольника.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения луча.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 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<start> и I<end> описывают сегмент.
|
||
|
||
Параметр I<plane> описывает плоскость.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения сегмента.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 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<start> и I<end> описывают сегмент.
|
||
|
||
Параметры I<a>, I<b>, I<c> описывают точки треугольника.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения луча.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 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<aStart> и I<aDirection> описывают луч.
|
||
|
||
Параметры I<bMin> и I<bMax> описывают ограничивающий прямоугольник.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения первого сегмента.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 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<aStart> и I<aEnd> описывают сегмент.
|
||
|
||
Параметры I<bMin> и I<bMax> описывают ограничивающий прямоугольник.
|
||
|
||
Параметр I<t> описывает результирующее время пересечения первого сегмента.
|
||
|
||
Параметр I<out> описывает результирующую точку пересечения.
|
||
|
||
В случае успеха функция возвращает 0, в случае ошибки - код ошибки.
|
||
|
||
|
||
=head1 СМ. ТАКЖЕ
|
||
|
||
L<BH>
|