1.5 KiB
1.5 KiB
Копирование
Функции копирования позволяют скопировать значения координат одного вектора в другой вектор.
Функция для BGC_FP32_Vector3:
inline void bgc_fp32_vector3_copy(BGC_FP32_Vector3* const destination, const BGC_FP32_Vector3* const source);
Функция для BGC_FP64_Vector3:
inline void bgc_fp64_vector3_copy(BGC_FP64_Vector3* const destination, const BGC_FP64_Vector3* const source);
Каждая из данных функции эквивалентна следующим строкам кода:
destination->x = source->x;
destination->y = source->y;
destination->z = source->z;
Параметры source и destination не должны быть некорректными указателями. Значение NULL (0) также считается некорректным.
Параметр source должен быть указателем на трёхмерный вектор, координаты которого должны быть скопированы. Координаты вектора source не изменятся после вызова функции.
Параметр destination должен быть указателем на трёхмерный вектор, координаты которого должны быть изменены. Координаты вектора destination после вызова функции станут такими же, как и у вектора source.
Пример применения:
#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;
}