bgc-c/docs/vector3/copy-rus.md

61 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Копирование
[English version / Английская версия](copy-eng.md)
Функции копирования позволяют скопировать значения координат одного вектора
в другой вектор.
Функция для **BGC_FP32_Vector3**:
```c
inline void bgc_fp32_vector3_copy(BGC_FP32_Vector3* const destination, const BGC_FP32_Vector3* const source);
```
Функция для **BGC_FP64_Vector3**:
```c
inline void bgc_fp64_vector3_copy(BGC_FP64_Vector3* const destination, const BGC_FP64_Vector3* const source);
```
Каждая из данных функции эквивалентна следующим строкам кода:
```c
destination->x = source->x;
destination->y = source->y;
destination->z = source->z;
```
Параметры **source** и **destination** не должны быть некорректными указателями.
Значение NULL (0) также считается некорректным.
Параметр **source** должен быть указателем на трёхмерный вектор, координаты
которого должны быть скопированы. Координаты вектора **source** не изменятся
после вызова функции.
Параметр **destination** должен быть указателем на трёхмерный вектор, координаты
которого должны быть изменены. Координаты вектора **destination** после вызова
функции станут такими же, как и у вектора **source**.
Пример применения:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BGC_FP32_Vector3 my_vector1, my_vector2;
my_vector1.x = -2.0f;
my_vector1.y = 7.4f;
my_vector1.z = 1.8f;
bgc_fp32_vector3_copy(&my_vector2, &my_vector1);
printf("x = %f, y = %f, z = %f\n", my_vector2.x, my_vector2.y, my_vector2.z);
return 0;
}
```
[Документация](../intro-rus.md) / [3D векторы](../vector3-rus.md)