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

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;
}

Äîêóìåíòàöèÿ / 3D âåêòîðû