1.5 KiB
Êîïèðîâàíèå
English version / Àíãëèéñêàÿ âåðñèÿ
Ôóíêöèè êîïèðîâàíèÿ ïîçâîëÿþò ñêîïèðîâàòü çíà÷åíèÿ êîîðäèíàò îäíîãî âåêòîðà â äðóãîé âåêòîð.
Ôóíêöèÿ äëÿ 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;
}