Переименование s0 -> s, x1 -> x, x2 -> y, x3 -> z, что должно упростить читаемость кода. Также обновление документации
This commit is contained in:
parent
d83ab7160d
commit
b8d383da33
38 changed files with 2104 additions and 2070 deletions
|
|
@ -4,26 +4,27 @@
|
|||
|
||||
### Префиксы
|
||||
|
||||
Библиотека использует префиксы в названиях типов, констант и функций.
|
||||
В языке программирования C (Си) нет пространств имён, потому роль пространств
|
||||
имён играют префиксы в названиях.
|
||||
|
||||
Библиотека использует префиксы в названиях типов, констант и функций для
|
||||
того, чтобы избежать конфликтов в названиях констант, типов и функций с другими
|
||||
библиотеками.
|
||||
|
||||
Основным префиксом является **BGC** (сокращение от **B**asic **G**eometric
|
||||
**C**omputations / Базовые Геометрие Вычисления).
|
||||
|
||||
Для структур данных префикс имеет вид **Bgc**, например: BgcVector3FP64,
|
||||
BgcVersorFP32, BgcMatrix2x2FP32.
|
||||
Для констант и структур данных префикс имеет вид **BGC_**, например:
|
||||
BgcVector3FP64, BGC_FP32_Quaternion, BGC_FP32_Matrix2x2, BGC_FP32_EPSILON,
|
||||
BGC_FP64_TWO_PI.
|
||||
|
||||
Константы имеют префикс в виде **BGC_**, например: BGC_EPSYLON_FP32,
|
||||
BGC_TWO_PI_FP64.
|
||||
Функции имеют префикс в виде **bgc_**, например: bgc_fp32_turn3_combine,
|
||||
bgc_fp64_matrix3x3_subtract.
|
||||
|
||||
Функции имеют префикс в виде **bgc_**, например: bgc_versor_combine_fp32,
|
||||
bgc_matrix3x3_subtract_fp64.
|
||||
После префикса библиотеки идёт префикс базового типа.
|
||||
|
||||
### Cуффиксы
|
||||
|
||||
Названия констант, типов и функций оканчиваются суффиксом, указывающим на
|
||||
базовый тип. Библиотека использует два типа чисел с плавающей запятой:
|
||||
**float** и **double** (типы **binary32** и **binary64** стандарта
|
||||
**IEEE 754**).
|
||||
Библиотека использует два типа чисел с плавающей запятой: **float** и **double**
|
||||
(типы **binary32** и **binary64** стандарта **IEEE 754**).
|
||||
|
||||
Поэтому в библиотеке есть два префикса типа:
|
||||
|
||||
|
|
@ -33,27 +34,19 @@ bgc_matrix3x3_subtract_fp64.
|
|||
* **FP64** - означает **F**loating **P**oint **64** bit, то есть, число с
|
||||
плавающей запятой, 64 бита, что соответствует типу **double** языка Си.
|
||||
|
||||
Типы структур, использующие тип **float** имеют суффикс **FP32**:
|
||||
BgcVector3FP32, BgcMatrix3x2FP32, BgcQuaternionFP32
|
||||
Типы структур и константы, основанные на типе **float** имеют префикс **FP32_**:
|
||||
BGC_FP32_Vector3, BGC_FP32_Matrix3x2, BGC_FP32_Quaternion, BGC_FP32_PI,
|
||||
BGC_FP32_EPSILON.
|
||||
|
||||
Типы структур, использующие тип **double** имеют суффикс **FP64**:
|
||||
BgcVector2FP64, BgcMatrix2x3FP64, BgcVersorFP64
|
||||
|
||||
Константы типа **float** имеют суффикс **_FP32**: BGC_PI_FP32, BGC_EPSYLON_FP32.
|
||||
|
||||
Константы типа **double** имеют суффикс **_FP64**: BGC_HALF_PI_FP64,
|
||||
BGC_ONE_THIRD_FP64.
|
||||
Типы структур и константы, основанные на типе **double** имеют префикс
|
||||
**FP64_**: BGC_FP64_Vector2, BGC_FP64_Matrix2x3, BGC_FP64_Turn3,
|
||||
BGC_FP64_HALF_PI, BGC_FP64_ONE_THIRD.
|
||||
|
||||
Функции, которые работают с данными типа **float** имеют суффикс **_fp32**:
|
||||
bcg_vector2_get_modulus_fp32, bgc_radians_to_degrees_fp32.
|
||||
bcg_fp32_vector2_get_length, bgc_fp32_radians_to_degrees.
|
||||
|
||||
Функции, которые работают с данными типа **double** имеют суффикс **_fp64**:
|
||||
bgc_vector3_reset_fp64, bgc_radians_normalize_fp64.
|
||||
bgc_fp64_vector3_reset, bgc_fp64_normalize_radians.
|
||||
|
||||
## Сущности
|
||||
|
||||
- [Углы](angle-rus.md)
|
||||
- [2D векторы](vector2-rus.md)
|
||||
- [3D векторы](vector2-rus.md)
|
||||
- [Кватернионы](quaternion-rus.md)
|
||||
- [Версоры](versor-rus.md)
|
||||
Использование подобных префиксов позволяет расширять библиотеку используя новые
|
||||
новые базовые типы в будущем.
|
||||
Loading…
Add table
Add a link
Reference in a new issue