Удаление функций set_value для структур с открытыми полями (векторы и кватернионы)

This commit is contained in:
Andrey Pokidov 2026-04-02 19:26:25 +07:00
parent e2bf8d28a8
commit abf99a7126
25 changed files with 597 additions and 707 deletions

View file

@ -4,12 +4,6 @@
extern inline void bgc_fp32_quaternion_reset(BGC_FP32_Quaternion* const quaternion);
extern inline void bgc_fp64_quaternion_reset(BGC_FP64_Quaternion* const quaternion);
extern inline void bgc_fp32_quaternion_make_unit(BGC_FP32_Quaternion* const quaternion);
extern inline void bgc_fp64_quaternion_make_unit(BGC_FP64_Quaternion* const quaternion);
extern inline void bgc_fp32_quaternion_set_values(BGC_FP32_Quaternion* const quaternion, const float s, const float x, const float y, const float z);
extern inline void bgc_fp64_quaternion_set_values(BGC_FP64_Quaternion* const quaternion, const double s, const double x, const double y, const double z);
extern inline float bgc_fp32_quaternion_get_square_magnitude(const BGC_FP32_Quaternion* const quaternion);
extern inline double bgc_fp64_quaternion_get_square_magnitude(const BGC_FP64_Quaternion* const quaternion);

View file

@ -26,42 +26,6 @@ inline void bgc_fp64_quaternion_reset(BGC_FP64_Quaternion* const quaternion)
quaternion->z = 0.0;
}
// ================= Make Unit ================== //
inline void bgc_fp32_quaternion_make_unit(BGC_FP32_Quaternion* const quaternion)
{
quaternion->s = 1.0f;
quaternion->x = 0.0f;
quaternion->y = 0.0f;
quaternion->z = 0.0f;
}
inline void bgc_fp64_quaternion_make_unit(BGC_FP64_Quaternion* const quaternion)
{
quaternion->s = 1.0;
quaternion->x = 0.0;
quaternion->y = 0.0;
quaternion->z = 0.0;
}
// ==================== Set ===================== //
inline void bgc_fp32_quaternion_set_values(BGC_FP32_Quaternion* const quaternion, const float s, const float x, const float y, const float z)
{
quaternion->s = s;
quaternion->x = x;
quaternion->y = y;
quaternion->z = z;
}
inline void bgc_fp64_quaternion_set_values(BGC_FP64_Quaternion* const quaternion, const double s, const double x, const double y, const double z)
{
quaternion->s = s;
quaternion->x = x;
quaternion->y = y;
quaternion->z = z;
}
// ============= Get Square Modulus ============= //
inline float bgc_fp32_quaternion_get_square_magnitude(const BGC_FP32_Quaternion* const quaternion)

View file

@ -142,7 +142,10 @@ void bgc_fp32_turn3_set_rotation(BGC_FP32_Turn3* const turn, const float x, cons
const float multiplier = sine / sqrtf(square_vector);
bgc_fp32_quaternion_set_values(&turn->_versor, cosf(half_angle), x * multiplier, y * multiplier, z * multiplier);
turn->_versor.s = cosf(half_angle);
turn->_versor.x = x * multiplier;
turn->_versor.y = y * multiplier;
turn->_versor.z = z * multiplier;
_bgc_fp32_turn3_normalize(turn);
}
@ -167,7 +170,10 @@ void bgc_fp64_turn3_set_rotation(BGC_FP64_Turn3* const turn, const double x, con
const double multiplier = sine / sqrt(square_vector);
bgc_fp64_quaternion_set_values(&turn->_versor, cos(half_angle), x * multiplier, y * multiplier, z * multiplier);
turn->_versor.s = cos(half_angle);
turn->_versor.x = x * multiplier;
turn->_versor.y = y * multiplier;
turn->_versor.z = z * multiplier;
_bgc_fp64_turn3_normalize(turn);
}

View file

@ -104,13 +104,21 @@ inline void _bgc_fp64_turn3_normalize(BGC_FP64_Turn3* const turn)
inline void bgc_fp32_turn3_set_values(BGC_FP32_Turn3* const turn, const float s, const float x, const float y, const float z)
{
bgc_fp32_quaternion_set_values(&turn->_versor, s, x, y, z);
turn->_versor.s = s;
turn->_versor.x = x;
turn->_versor.y = y;
turn->_versor.z = z;
_bgc_fp32_turn3_normalize(turn);
}
inline void bgc_fp64_turn3_set_values(BGC_FP64_Turn3* const turn, const double s, const double x, const double y, const double z)
{
bgc_fp64_quaternion_set_values(&turn->_versor, s, x, y, z);
turn->_versor.s = s;
turn->_versor.x = x;
turn->_versor.y = y;
turn->_versor.z = z;
_bgc_fp64_turn3_normalize(turn);
}

View file

@ -3,9 +3,6 @@
extern inline void bgc_fp32_vector2_reset(BGC_FP32_Vector2* const vector);
extern inline void bgc_fp64_vector2_reset(BGC_FP64_Vector2* const vector);
extern inline void bgc_fp32_vector2_set_values(BGC_FP32_Vector2* const destination, const float x, const float y);
extern inline void bgc_fp64_vector2_set_values(BGC_FP64_Vector2* const destination, const double x, const double y);
extern inline float bgc_fp32_vector2_get_squared_length(const BGC_FP32_Vector2* const vector);
extern inline double bgc_fp64_vector2_get_squared_length(const BGC_FP64_Vector2* const vector);

View file

@ -21,20 +21,6 @@ inline void bgc_fp64_vector2_reset(BGC_FP64_Vector2* const vector)
vector->y = 0.0;
}
// ==================== Set ===================== //
inline void bgc_fp32_vector2_set_values(BGC_FP32_Vector2* const destination, const float x, const float y)
{
destination->x = x;
destination->y = y;
}
inline void bgc_fp64_vector2_set_values(BGC_FP64_Vector2* const destination, const double x, const double y)
{
destination->x = x;
destination->y = y;
}
// ================== Modulus =================== //
inline float bgc_fp32_vector2_get_squared_length(const BGC_FP32_Vector2* const vector)

View file

@ -3,9 +3,6 @@
extern inline void bgc_fp32_vector3_reset(BGC_FP32_Vector3* const vector);
extern inline void bgc_fp64_vector3_reset(BGC_FP64_Vector3* const vector);
extern inline void bgc_fp32_vector3_set_values(BGC_FP32_Vector3* const destination, const float x, const float y, const float z);
extern inline void bgc_fp64_vector3_set_values(BGC_FP64_Vector3* const destination, const double x, const double y, const double z);
extern inline float bgc_fp32_vector3_get_squared_length(const BGC_FP32_Vector3* const vector);
extern inline double bgc_fp64_vector3_get_squared_length(const BGC_FP64_Vector3* const vector);

View file

@ -23,22 +23,6 @@ inline void bgc_fp64_vector3_reset(BGC_FP64_Vector3* const vector)
vector->z = 0.0;
}
// ==================== Set ===================== //
inline void bgc_fp32_vector3_set_values(BGC_FP32_Vector3* const destination, const float x, const float y, const float z)
{
destination->x = x;
destination->y = y;
destination->z = z;
}
inline void bgc_fp64_vector3_set_values(BGC_FP64_Vector3* const destination, const double x, const double y, const double z)
{
destination->x = x;
destination->y = y;
destination->z = z;
}
// ================== Modulus =================== //
inline float bgc_fp32_vector3_get_squared_length(const BGC_FP32_Vector3* const vector)