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

1.5 KiB

Copying

The copy functions allow you to copy the coordinate values of one vector to another vector.

Function for BGC_FP32_Vector3:

inline void bgc_fp32_vector3_copy(BGC_FP32_Vector3* const destination, const BGC_FP32_Vector3* const source);

Function for BGC_FP64_Vector3:

inline void bgc_fp64_vector3_copy(BGC_FP64_Vector3* const destination, const BGC_FP64_Vector3* const source);

Each of these functions is equivalent to the following lines of code:

destination->x = source->x;
destination->y = source->y;
destination->z = source->z;

The source and destination parameters must not be invalid pointers. The NULL (0) value is also considered invalid.

The source parameter must be a pointer to a three-dimensional vector whose coordinates are to be copied. The coordinates of the source vector will not change after the function call.

The destination parameter must be a pointer to a three-dimensional vector whose coordinates are to be changed. The coordinates of the destination vector will become the same as those of the source vector after the function call.

Example of use:

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

Documentation / 3D vectors