Улучшение документации
This commit is contained in:
parent
b5aa39c145
commit
c7e39e1527
13 changed files with 439 additions and 239 deletions
|
@ -23,3 +23,154 @@ binary32 стандарта IEEE 754).
|
|||
double x1, x2;
|
||||
} BgcVector2FP64;
|
||||
|
||||
Операции:
|
||||
- сбос состояния
|
||||
- указание координат
|
||||
- копирование
|
||||
- обмен
|
||||
- конвертация типа
|
||||
- получение обратного вектора
|
||||
|
||||
### Сброс состояния
|
||||
|
||||
Для сброса координат в нулевое значение предлагаются следующие функции:
|
||||
|
||||
inline void bgc_vector2_reset_fp32(BgcVector2FP32* vector);
|
||||
inline void bgc_vector2_reset_fp64(BgcVector2FP64* vector);
|
||||
|
||||
Каждая из данных функции эквивалентна следующим строкам кода:
|
||||
|
||||
vector->x1 = 0;
|
||||
vector->x2 = 0;
|
||||
|
||||
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
|
||||
в качестве параметра также считается некорректным.
|
||||
|
||||
Пример применения:
|
||||
|
||||
#include <stdio.h>
|
||||
#include <basic-geometry.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
BgcVector2FP32 my_vector;
|
||||
|
||||
bgc_vector2_reset_fp32(&my_vector);
|
||||
|
||||
printf("x1 = %f, x2 = %f\n", my_vector.x1, my_vector.x2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
### Указание координат
|
||||
|
||||
Для прямого указания координат предлагаются следующие две функции:
|
||||
|
||||
inline void bgc_vector2_set_values_fp32(const float x1, const float x2, BgcVector2FP32* to);
|
||||
inline void bgc_vector2_set_values_fp64(const double x1, const double x2, BgcVector2FP64* to);
|
||||
|
||||
Каждая из данных функции эквивалентна следующим строкам кода:
|
||||
|
||||
vector->x1 = x1;
|
||||
vector->x2 = x2;
|
||||
|
||||
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
|
||||
в качестве параметра также считается некорректным.
|
||||
|
||||
Пример применения:
|
||||
|
||||
#include <stdio.h>
|
||||
#include <basic-geometry.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
BgcVector2FP32 my_vector;
|
||||
|
||||
bgc_vector2_set_values_fp32(-2, 7, &my_vector);
|
||||
|
||||
printf("x1 = %f, x2 = %f\n", my_vector.x1, my_vector.x2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
### Копирование
|
||||
|
||||
Функции копирования позволяют
|
||||
Для копирования координат векторов предлагаются данные функции:
|
||||
|
||||
inline void bgc_vector2_copy_fp32(const BgcVector2FP32* from, BgcVector2FP32* to);
|
||||
inline void bgc_vector2_copy_fp64(const BgcVector2FP64* from, BgcVector2FP64* to);
|
||||
|
||||
Каждая из данных функции эквивалентна следующим строкам кода:
|
||||
|
||||
to->x1 = from->x1;
|
||||
to->x2 = from->x2;
|
||||
|
||||
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
|
||||
в качестве параметра также считается некорректным.
|
||||
|
||||
Пример применения:
|
||||
|
||||
#include <stdio.h>
|
||||
#include <basic-geometry.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
BgcVector2FP32 my_vector1, my_vector2;
|
||||
|
||||
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
|
||||
|
||||
bgc_vector2_copy_fp32(&my_vector1, &my_vector2);
|
||||
|
||||
printf("x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
### Обмен
|
||||
|
||||
Функции обмена позволяют двум векторам одного типа обменяться значениями
|
||||
координат.
|
||||
|
||||
Для обмена значениями координат векторов определены следующие функции:
|
||||
|
||||
inline void bgc_vector2_swap_fp32(BgcVector2FP32* vector1, BgcVector2FP32* vector2);
|
||||
inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vector2);
|
||||
|
||||
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
|
||||
также считается некорректным.
|
||||
|
||||
Пример применения:
|
||||
|
||||
#include <stdio.h>
|
||||
#include <basic-geometry.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
BgcVector2FP32 my_vector1, my_vector2;
|
||||
|
||||
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
|
||||
bgc_vector2_set_values_fp32(10, -1, &my_vector2);
|
||||
|
||||
bgc_vector2_swap_fp32(&my_vector1, &my_vector2);
|
||||
|
||||
printf("Vector #1: x1 = %f, x2 = %f\n", my_vector1.x1, my_vector1.x2);
|
||||
printf("Vector #2: x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
### Конвертация типа
|
||||
|
||||
Функции конвертации типа позволяют преобразовать
|
||||
|
||||
inline void bgc_vector2_convert_fp64_to_fp32(const BgcVector2FP64* from, BgcVector2FP32* to);
|
||||
inline void bgc_vector2_convert_fp32_to_fp64(const BgcVector2FP32* from, BgcVector2FP64* to);
|
||||
|
||||
Функции библиотеки проектировались из предпосылки, что разработчик, использующий
|
||||
данную библиотеку, выберет один из двух типов чисел с плавающей запятой
|
||||
(**float** или **double**) и будет работать с геометрическими структурами и
|
||||
функциями выбранного типа.
|
||||
|
||||
Тем не менее, в библиотеке есть функции, которые позволяют преобразовать данные
|
||||
одного типа в данные другого типа.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue