Cleanup: match names between functions & declarations

Mostly update the declarations, in some cases rename in the function
especially when the names used were inconstant with related functions.
This commit is contained in:
Campbell Barton 2022-08-21 15:06:28 +10:00
parent 5bd1d63115
commit b04514da5d
10 changed files with 320 additions and 296 deletions

View File

@ -164,7 +164,9 @@ void rgba_float_to_uchar(unsigned char r_col[4], const float col_f[4]);
MINLINE float rgb_to_grayscale(const float rgb[3]);
MINLINE unsigned char rgb_to_grayscale_byte(const unsigned char rgb[3]);
MINLINE int compare_rgb_uchar(const unsigned char a[3], const unsigned char b[3], int limit);
MINLINE int compare_rgb_uchar(const unsigned char col_a[3],
const unsigned char col_b[3],
int limit);
/**
* Return triangle noise in [-0.5..1.5] range.

View File

@ -1270,8 +1270,8 @@ MINLINE void mul_sh_fl(float r[9], float f);
MINLINE void add_sh_shsh(float r[9], const float a[9], const float b[9]);
MINLINE float dot_shsh(const float a[9], const float b[9]);
MINLINE float eval_shv3(float r[9], const float v[3]);
MINLINE float diffuse_shv3(const float r[9], const float v[3]);
MINLINE float eval_shv3(float sh[9], const float v[3]);
MINLINE float diffuse_shv3(const float sh[9], const float v[3]);
MINLINE void vec_fac_to_sh(float r[9], const float v[3], float f);
MINLINE void madd_sh_shfl(float r[9], const float sh[9], float f);

View File

@ -98,110 +98,110 @@ void mul_m4_m4_post(float R[4][4], const float B[4][4]);
/* Implement #mul_m3_series macro. */
void _va_mul_m3_series_3(float R[3][3], const float M1[3][3], const float M2[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_4(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_5(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3],
const float M4[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_6(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3],
const float M4[3][3],
const float M5[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_7(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3],
const float M4[3][3],
const float M5[3][3],
const float M6[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_8(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3],
const float M4[3][3],
const float M5[3][3],
const float M6[3][3],
const float M7[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_9(float R[3][3],
const float M1[3][3],
const float M2[3][3],
const float M3[3][3],
const float M4[3][3],
const float M5[3][3],
const float M6[3][3],
const float M7[3][3],
const float M8[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_3(float r[3][3], const float m1[3][3], const float m2[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_4(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_5(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3],
const float m4[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_6(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3],
const float m4[3][3],
const float m5[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_7(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3],
const float m4[3][3],
const float m5[3][3],
const float m6[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_8(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3],
const float m4[3][3],
const float m5[3][3],
const float m6[3][3],
const float m7[3][3]) ATTR_NONNULL();
void _va_mul_m3_series_9(float r[3][3],
const float m1[3][3],
const float m2[3][3],
const float m3[3][3],
const float m4[3][3],
const float m5[3][3],
const float m6[3][3],
const float m7[3][3],
const float m8[3][3]) ATTR_NONNULL();
/* Implement #mul_m4_series macro. */
void _va_mul_m4_series_3(float R[4][4], const float M1[4][4], const float M2[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_4(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_5(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4],
const float M4[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_6(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4],
const float M4[4][4],
const float M5[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_7(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4],
const float M4[4][4],
const float M5[4][4],
const float M6[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_8(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4],
const float M4[4][4],
const float M5[4][4],
const float M6[4][4],
const float M7[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_9(float R[4][4],
const float M1[4][4],
const float M2[4][4],
const float M3[4][4],
const float M4[4][4],
const float M5[4][4],
const float M6[4][4],
const float M7[4][4],
const float M8[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_3(float r[4][4], const float m1[4][4], const float m2[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_4(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_5(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4],
const float m4[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_6(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4],
const float m4[4][4],
const float m5[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_7(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4],
const float m4[4][4],
const float m5[4][4],
const float m6[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_8(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4],
const float m4[4][4],
const float m5[4][4],
const float m6[4][4],
const float m7[4][4]) ATTR_NONNULL();
void _va_mul_m4_series_9(float r[4][4],
const float m1[4][4],
const float m2[4][4],
const float m3[4][4],
const float m4[4][4],
const float m5[4][4],
const float m6[4][4],
const float m7[4][4],
const float m8[4][4]) ATTR_NONNULL();
#define mul_m3_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m3_series_, __VA_ARGS__)
#define mul_m4_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m4_series_, __VA_ARGS__)
void mul_m4_v3(const float M[4][4], float r[3]);
void mul_v3_m4v3(float r[3], const float M[4][4], const float v[3]);
void mul_v3_m4v3(float r[3], const float mat[4][4], const float vec[3]);
void mul_v3_m4v3_db(double r[3], const double mat[4][4], const double vec[3]);
void mul_v4_m4v3_db(double r[4], const double mat[4][4], const double vec[3]);
void mul_v2_m4v3(float r[2], const float M[4][4], const float v[3]);
void mul_v2_m2v2(float r[2], const float M[2][2], const float v[2]);
void mul_m2_v2(const float M[2][2], float v[2]);
void mul_v2_m4v3(float r[2], const float mat[4][4], const float vec[3]);
void mul_v2_m2v2(float r[2], const float mat[2][2], const float vec[2]);
void mul_m2_v2(const float mat[2][2], float vec[2]);
/** Same as #mul_m4_v3() but doesn't apply translation component. */
void mul_mat3_m4_v3(const float M[4][4], float r[3]);
void mul_v3_mat3_m4v3(float r[3], const float M[4][4], const float v[3]);
void mul_v3_mat3_m4v3_db(double r[3], const double M[4][4], const double v[3]);
void mul_m4_v4(const float M[4][4], float r[4]);
void mul_v4_m4v4(float r[4], const float M[4][4], const float v[4]);
void mul_mat3_m4_v3(const float mat[4][4], float r[3]);
void mul_v3_mat3_m4v3(float r[3], const float mat[4][4], const float vec[3]);
void mul_v3_mat3_m4v3_db(double r[3], const double mat[4][4], const double vec[3]);
void mul_m4_v4(const float mat[4][4], float r[4]);
void mul_v4_m4v4(float r[4], const float mat[4][4], const float v[4]);
void mul_v4_m4v3(float r[4], const float M[4][4], const float v[3]); /* v has implicit w = 1.0f */
void mul_project_m4_v3(const float M[4][4], float vec[3]);
void mul_project_m4_v3(const float mat[4][4], float vec[3]);
void mul_v3_project_m4_v3(float r[3], const float mat[4][4], const float vec[3]);
void mul_v2_project_m4_v3(float r[2], const float M[4][4], const float vec[3]);
void mul_v2_project_m4_v3(float r[2], const float mat[4][4], const float vec[3]);
void mul_m3_v2(const float m[3][3], float r[2]);
void mul_v2_m3v2(float r[2], const float m[3][3], const float v[2]);
@ -234,14 +234,14 @@ void negate_m3(float R[3][3]);
void negate_mat3_m4(float R[4][4]);
void negate_m4(float R[4][4]);
bool invert_m3_ex(float m[3][3], float epsilon);
bool invert_m3_m3_ex(float m1[3][3], const float m2[3][3], float epsilon);
bool invert_m3_ex(float mat[3][3], float epsilon);
bool invert_m3_m3_ex(float inverse[3][3], const float mat[3][3], float epsilon);
bool invert_m3(float R[3][3]);
bool invert_m2_m2(float R[2][2], const float A[2][2]);
bool invert_m3_m3(float R[3][3], const float A[3][3]);
bool invert_m4(float R[4][4]);
bool invert_m4_m4(float R[4][4], const float A[4][4]);
bool invert_m3(float mat[3][3]);
bool invert_m2_m2(float inverse[2][2], const float mat[2][2]);
bool invert_m3_m3(float inverse[3][3], const float mat[3][3]);
bool invert_m4(float mat[4][4]);
bool invert_m4_m4(float inverse[4][4], const float mat[4][4]);
/**
* Computes the inverse of mat and puts it in inverse.
* Uses Gaussian Elimination with partial (maximal column) pivoting.
@ -252,12 +252,12 @@ bool invert_m4_m4(float R[4][4], const float A[4][4]);
* for non-invertible scale matrices, finding a partial solution can
* be useful to have a valid local transform center, see T57767.
*/
bool invert_m4_m4_fallback(float R[4][4], const float A[4][4]);
bool invert_m4_m4_fallback(float inverse[4][4], const float mat[4][4]);
/* Double arithmetic (mixed float/double). */
void mul_m4_v4d(const float M[4][4], double r[4]);
void mul_v4d_m4v4d(double r[4], const float M[4][4], const double v[4]);
void mul_m4_v4d(const float mat[4][4], double r[4]);
void mul_v4d_m4v4d(double r[4], const float mat[4][4], const double v[4]);
/* Double matrix functions (no mixing types). */
@ -291,8 +291,8 @@ void normalize_m3_m3_ex(float R[3][3], const float M[3][3], float r_scale[3]) AT
void normalize_m3_m3(float R[3][3], const float M[3][3]) ATTR_NONNULL();
void normalize_m4_ex(float R[4][4], float r_scale[3]) ATTR_NONNULL();
void normalize_m4(float R[4][4]) ATTR_NONNULL();
void normalize_m4_m4_ex(float R[4][4], const float M[4][4], float r_scale[3]) ATTR_NONNULL();
void normalize_m4_m4(float R[4][4], const float M[4][4]) ATTR_NONNULL();
void normalize_m4_m4_ex(float rmat[4][4], const float mat[4][4], float r_scale[3]) ATTR_NONNULL();
void normalize_m4_m4(float rmat[4][4], const float mat[4][4]) ATTR_NONNULL();
/**
* Make an orthonormal matrix around the selected axis of the given matrix.
@ -326,15 +326,15 @@ void orthogonalize_m3_stable(float R[3][3], int axis, bool normalize);
*/
void orthogonalize_m4_stable(float R[4][4], int axis, bool normalize);
bool orthogonalize_m3_zero_axes(float R[3][3], float unit_length);
bool orthogonalize_m4_zero_axes(float R[4][4], float unit_length);
bool orthogonalize_m3_zero_axes(float m[3][3], float unit_length);
bool orthogonalize_m4_zero_axes(float m[4][4], float unit_length);
bool is_orthogonal_m3(const float mat[3][3]);
bool is_orthogonal_m4(const float mat[4][4]);
bool is_orthonormal_m3(const float mat[3][3]);
bool is_orthonormal_m4(const float mat[4][4]);
bool is_orthogonal_m3(const float m[3][3]);
bool is_orthogonal_m4(const float m[4][4]);
bool is_orthonormal_m3(const float m[3][3]);
bool is_orthonormal_m4(const float m[4][4]);
bool is_uniform_scaled_m3(const float mat[3][3]);
bool is_uniform_scaled_m3(const float m[3][3]);
bool is_uniform_scaled_m4(const float m[4][4]);
/* NOTE: 'adjoint' here means the adjugate (adjunct, "classical adjoint") matrix!
@ -362,22 +362,22 @@ float determinant_m4(const float m[4][4]);
* From this decomposition it is trivial to compute the (pseudo-inverse)
* of `A` as `Ainv = V.Winv.transpose(U)`.
*/
void svd_m4(float U[4][4], float s[4], float V[4][4], float A[4][4]);
void pseudoinverse_m4_m4(float Ainv[4][4], const float A[4][4], float epsilon);
void pseudoinverse_m3_m3(float Ainv[3][3], const float A[3][3], float epsilon);
void svd_m4(float U[4][4], float s[4], float V[4][4], float A_[4][4]);
void pseudoinverse_m4_m4(float inverse[4][4], const float mat[4][4], float epsilon);
void pseudoinverse_m3_m3(float inverse[3][3], const float mat[3][3], float epsilon);
bool has_zero_axis_m4(const float matrix[4][4]);
void invert_m4_m4_safe(float Ainv[4][4], const float A[4][4]);
void invert_m4_m4_safe(float inverse[4][4], const float mat[4][4]);
void invert_m3_m3_safe_ortho(float Ainv[3][3], const float A[3][3]);
void invert_m3_m3_safe_ortho(float inverse[3][3], const float mat[3][3]);
/**
* A safe version of invert that uses valid axes, calculating the zero'd axis
* based on the non-zero ones.
*
* This works well for transformation matrices, when a single axis is zeroed.
*/
void invert_m4_m4_safe_ortho(float Ainv[4][4], const float A[4][4]);
void invert_m4_m4_safe_ortho(float inverse[4][4], const float mat[4][4]);
/** \} */
@ -394,18 +394,18 @@ void scale_m4_v2(float R[4][4], const float scale[2]);
* For an orthogonal matrix, it is the product of all three scale values.
* Returns a negative value if the transform is flipped by negative scale.
*/
float mat3_to_volume_scale(const float M[3][3]);
float mat4_to_volume_scale(const float M[4][4]);
float mat3_to_volume_scale(const float mat[3][3]);
float mat4_to_volume_scale(const float mat[4][4]);
/**
* This gets the average scale of a matrix, only use when your scaling
* data that has no idea of scale axis, examples are bone-envelope-radius
* and curve radius.
*/
float mat3_to_scale(const float M[3][3]);
float mat4_to_scale(const float M[4][4]);
float mat3_to_scale(const float mat[3][3]);
float mat4_to_scale(const float mat[4][4]);
/** Return 2D scale (in XY plane) of given mat4. */
float mat4_to_xy_scale(const float M[4][4]);
float mat4_to_xy_scale(const float mat[4][4]);
void size_to_mat3(float R[3][3], const float size[3]);
void size_to_mat4(float R[4][4], const float size[3]);
@ -433,7 +433,7 @@ float mat4_to_size_max_axis(const float M[4][4]);
*/
void mat4_to_size_fix_shear(float size[3], const float M[4][4]);
void translate_m4(float mat[4][4], float tx, float ty, float tz);
void translate_m4(float mat[4][4], float Tx, float Ty, float Tz);
/**
* Rotate a matrix in-place.
*
@ -605,8 +605,8 @@ void BLI_space_transform_invert_normal(const struct SpaceTransform *data, float
/** \name Other
* \{ */
void print_m3(const char *str, const float M[3][3]);
void print_m4(const char *str, const float M[4][4]);
void print_m3(const char *str, const float m[3][3]);
void print_m4(const char *str, const float m[4][4]);
#define print_m3_id(M) print_m3(STRINGIFY(M), M)
#define print_m4_id(M) print_m4(STRINGIFY(M), M)

View File

@ -71,7 +71,7 @@ void mul_qt_fl(float q[4], float f);
/**
* Raise a unit quaternion to the specified power.
*/
void pow_qt_fl_normalized(float q[4], float f);
void pow_qt_fl_normalized(float q[4], float fac);
void sub_qt_qtqt(float q[4], const float a[4], const float b[4]);
@ -109,8 +109,8 @@ void add_qt_qtqt(float q[4], const float a[4], const float b[4], float t);
/* Conversion. */
void quat_to_mat3(float mat[3][3], const float q[4]);
void quat_to_mat4(float mat[4][4], const float q[4]);
void quat_to_mat3(float m[3][3], const float q[4]);
void quat_to_mat4(float m[4][4], const float q[4]);
/**
* Apply the rotation of \a a to \a q keeping the values compatible with \a old.
@ -157,7 +157,10 @@ void rotation_between_quats_to_quat(float q[4], const float q1[4], const float q
* \param r_twist: if not NULL, receives the twist quaternion.
* \returns twist angle.
*/
float quat_split_swing_and_twist(const float q[4], int axis, float r_swing[4], float r_twist[4]);
float quat_split_swing_and_twist(const float q_in[4],
int axis,
float r_swing[4],
float r_twist[4]);
float angle_normalized_qt(const float q[4]);
float angle_normalized_qtqt(const float q1[4], const float q2[4]);
@ -172,7 +175,7 @@ float angle_signed_qtqt(const float q1[4], const float q2[4]);
/**
* TODO: don't what this is, but it's not the same as #mat3_to_quat.
*/
void mat3_to_quat_is_ok(float q[4], const float mat[3][3]);
void mat3_to_quat_is_ok(float q[4], const float wmat[3][3]);
/* Other. */
@ -235,16 +238,16 @@ void axis_angle_to_mat4(float R[4][4], const float axis[3], float angle);
/**
* 3x3 matrix to axis angle.
*/
void mat3_normalized_to_axis_angle(float axis[3], float *angle, const float M[3][3]);
void mat3_normalized_to_axis_angle(float axis[3], float *angle, const float mat[3][3]);
/**
* 4x4 matrix to axis angle.
*/
void mat4_normalized_to_axis_angle(float axis[3], float *angle, const float M[4][4]);
void mat3_to_axis_angle(float axis[3], float *angle, const float M[3][3]);
void mat4_normalized_to_axis_angle(float axis[3], float *angle, const float mat[4][4]);
void mat3_to_axis_angle(float axis[3], float *angle, const float mat[3][3]);
/**
* 4x4 matrix to axis angle.
*/
void mat4_to_axis_angle(float axis[3], float *angle, const float M[4][4]);
void mat4_to_axis_angle(float axis[3], float *angle, const float mat[4][4]);
/**
* Quaternions to Axis Angle.
*/
@ -283,19 +286,19 @@ void eul_to_mat3(float mat[3][3], const float eul[3]);
void eul_to_mat4(float mat[4][4], const float eul[3]);
void mat3_normalized_to_eul(float eul[3], const float mat[3][3]);
void mat4_normalized_to_eul(float eul[3], const float mat[4][4]);
void mat4_normalized_to_eul(float eul[3], const float m[4][4]);
void mat3_to_eul(float eul[3], const float mat[3][3]);
void mat4_to_eul(float eul[3], const float mat[4][4]);
void quat_to_eul(float eul[3], const float quat[4]);
void mat3_normalized_to_compatible_eul(float eul[3], const float old[3], float mat[3][3]);
void mat3_to_compatible_eul(float eul[3], const float old[3], float mat[3][3]);
void mat3_normalized_to_compatible_eul(float eul[3], const float oldrot[3], float mat[3][3]);
void mat3_to_compatible_eul(float eul[3], const float oldrot[3], float mat[3][3]);
void quat_to_compatible_eul(float eul[3], const float oldrot[3], const float quat[4]);
void rotate_eul(float eul[3], char axis, float angle);
void rotate_eul(float beul[3], char axis, float angle);
/* Order independent. */
void compatible_eul(float eul[3], const float old[3]);
void compatible_eul(float eul[3], const float oldrot[3]);
void add_eul_euleul(float r_eul[3], float a[3], float b[3], short order);
void sub_eul_euleul(float r_eul[3], float a[3], float b[3], short order);
@ -323,15 +326,15 @@ typedef enum eEulerRotationOrders {
/**
* Construct quaternion from Euler angles (in radians).
*/
void eulO_to_quat(float quat[4], const float eul[3], short order);
void eulO_to_quat(float q[4], const float e[3], short order);
/**
* Construct 3x3 matrix from Euler angles (in radians).
*/
void eulO_to_mat3(float mat[3][3], const float eul[3], short order);
void eulO_to_mat3(float M[3][3], const float e[3], short order);
/**
* Construct 4x4 matrix from Euler angles (in radians).
*/
void eulO_to_mat4(float mat[4][4], const float eul[3], short order);
void eulO_to_mat4(float mat[4][4], const float e[3], short order);
/**
* Euler Rotation to Axis Angle.
*/
@ -344,17 +347,17 @@ void eulO_to_gimbal_axis(float gmat[3][3], const float eul[3], short order);
/**
* Convert 3x3 matrix to Euler angles (in radians).
*/
void mat3_normalized_to_eulO(float eul[3], short order, const float mat[3][3]);
void mat3_normalized_to_eulO(float eul[3], short order, const float m[3][3]);
/**
* Convert 4x4 matrix to Euler angles (in radians).
*/
void mat4_normalized_to_eulO(float eul[3], short order, const float mat[4][4]);
void mat3_to_eulO(float eul[3], short order, const float mat[3][3]);
void mat4_to_eulO(float eul[3], short order, const float mat[4][4]);
void mat4_normalized_to_eulO(float eul[3], short order, const float m[4][4]);
void mat3_to_eulO(float eul[3], short order, const float m[3][3]);
void mat4_to_eulO(float eul[3], short order, const float m[4][4]);
/**
* Convert quaternion to Euler angles (in radians).
*/
void quat_to_eulO(float eul[3], short order, const float quat[4]);
void quat_to_eulO(float e[3], short order, const float q[4]);
/**
* Axis Angle to Euler Rotation.
*/
@ -363,18 +366,27 @@ void axis_angle_to_eulO(float eul[3], short order, const float axis[3], float an
/* Uses 2 methods to retrieve eulers, and picks the closest. */
void mat3_normalized_to_compatible_eulO(float eul[3],
const float old[3],
const float oldrot[3],
short order,
const float mat[3][3]);
void mat4_normalized_to_compatible_eulO(float eul[3],
const float old[3],
const float oldrot[3],
short order,
const float mat[4][4]);
void mat3_to_compatible_eulO(float eul[3], const float old[3], short order, const float mat[3][3]);
void mat4_to_compatible_eulO(float eul[3], const float old[3], short order, const float mat[4][4]);
void quat_to_compatible_eulO(float eul[3], const float old[3], short order, const float quat[4]);
void mat3_to_compatible_eulO(float eul[3],
const float oldrot[3],
short order,
const float mat[3][3]);
void mat4_to_compatible_eulO(float eul[3],
const float oldrot[3],
short order,
const float mat[4][4]);
void quat_to_compatible_eulO(float eul[3],
const float oldrot[3],
short order,
const float quat[4]);
void rotate_eulO(float eul[3], short order, char axis, float angle);
void rotate_eulO(float beul[3], short order, char axis, float angle);
/** \} */
@ -383,7 +395,7 @@ void rotate_eulO(float eul[3], short order, char axis, float angle);
* \{ */
void copy_dq_dq(DualQuat *r, const DualQuat *dq);
void normalize_dq(DualQuat *dq, float totw);
void normalize_dq(DualQuat *dq, float totweight);
void add_weighted_dq_dq(DualQuat *dq_sum, const DualQuat *dq, float weight);
void mul_v3m3_dq(float r[3], float R[3][3], DualQuat *dq);
@ -400,7 +412,7 @@ void vec_apply_track(float vec[3], short axis);
* Lens/angle conversion (radians).
*/
float focallength_to_fov(float focal_length, float sensor);
float fov_to_focallength(float fov, float sensor);
float fov_to_focallength(float hfov, float sensor);
float angle_wrap_rad(float angle);
float angle_wrap_deg(float angle);

View File

@ -155,7 +155,7 @@ MINLINE void mul_v3_v3db_db(double r[3], const double a[3], double f);
MINLINE void mul_v2_v2(float r[2], const float a[2]);
MINLINE void mul_v2_v2v2(float r[2], const float a[2], const float b[2]);
MINLINE void mul_v3_v3(float r[3], const float a[3]);
MINLINE void mul_v3_v3v3(float r[3], const float a[3], const float b[3]);
MINLINE void mul_v3_v3v3(float r[3], const float v1[3], const float v2[3]);
MINLINE void mul_v4_fl(float r[4], float f);
MINLINE void mul_v4_v4(float r[4], const float a[4]);
MINLINE void mul_v4_v4fl(float r[4], const float a[4], float f);
@ -271,10 +271,10 @@ MINLINE float len_squared_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_manhattan_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE int len_manhattan_v2_int(const int v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_manhattan_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE double len_v2_db(const double v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_v2v2(const float a[2], const float b[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE double len_v2v2_db(const double a[2], const double b[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_v2v2(const float v1[2], const float v2[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE double len_v2v2_db(const double v1[2], const double v2[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE float len_v2v2_int(const int v1[2], const int v2[2]);
MINLINE float len_squared_v2v2(const float a[2], const float b[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE double len_squared_v2v2_db(const double a[2], const double b[2]) ATTR_WARN_UNUSED_RESULT;
@ -288,22 +288,22 @@ MINLINE float len_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESU
MINLINE double len_v3_db(const double a[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE double len_squared_v3_db(const double v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE float normalize_v2_length(float r[2], float unit_scale);
MINLINE float normalize_v2_length(float n[2], float unit_length);
/**
* \note any vectors containing `nan` will be zeroed out.
*/
MINLINE float normalize_v2_v2_length(float r[2], const float a[2], float unit_scale);
MINLINE float normalize_v3_length(float r[3], float unit_scale);
MINLINE float normalize_v2_v2_length(float r[2], const float a[2], float unit_length);
MINLINE float normalize_v3_length(float n[3], float unit_length);
/**
* \note any vectors containing `nan` will be zeroed out.
*/
MINLINE float normalize_v3_v3_length(float r[3], const float a[3], float unit_scale);
MINLINE double normalize_v3_length_db(double n[3], double unit_scale);
MINLINE double normalize_v3_v3_length_db(double r[3], const double a[3], double unit_scale);
MINLINE float normalize_v3_v3_length(float r[3], const float a[3], float unit_length);
MINLINE double normalize_v3_length_db(double n[3], double unit_length);
MINLINE double normalize_v3_v3_length_db(double r[3], const double a[3], double unit_length);
MINLINE float normalize_v2(float r[2]);
MINLINE float normalize_v2(float n[2]);
MINLINE float normalize_v2_v2(float r[2], const float a[2]);
MINLINE float normalize_v3(float r[3]);
MINLINE float normalize_v3(float n[3]);
MINLINE float normalize_v3_v3(float r[3], const float a[3]);
MINLINE double normalize_v3_v3_db(double r[3], const double a[3]);
MINLINE double normalize_v3_db(double n[3]);
@ -424,45 +424,51 @@ void flip_v2_v2v2(float v[2], const float v1[2], const float v2[2]);
/** \name Comparison
* \{ */
MINLINE bool is_zero_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v4(const float a[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v4(const float v[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v2_db(const double a[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v3_db(const double a[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v4_db(const double a[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v2_db(const double v[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v3_db(const double v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_zero_v4_db(const double v[4]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v4(const float a[4]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT;
bool is_finite_v4(const float v[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_one_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool is_one_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v2v2(const float v1[2], const float v2[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v4v4(const float a[4], const float b[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v3v3(const float v1[3], const float v2[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v4v4(const float v1[4], const float v2[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v2v2_int(const int v1[2], const int v2[2]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v3v3_int(const int v1[3], const int v2[3]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool equals_v4v4_int(const int v1[4], const int v2[4]) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v2v2(const float a[2], const float b[2], float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v3v3(const float a[3], const float b[3], float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v4v4(const float a[4], const float b[4], float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v2v2(const float v1[2],
const float v2[2],
float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v3v3(const float v1[3],
const float v2[3],
float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v4v4(const float v1[4],
const float v2[4],
float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v2v2_relative(const float a[2], const float b[2], float limit, int max_ulps)
MINLINE bool compare_v2v2_relative(const float v1[2], const float v2[2], float limit, int max_ulps)
ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v3v3_relative(const float a[3], const float b[3], float limit, int max_ulps)
MINLINE bool compare_v3v3_relative(const float v1[3], const float v2[3], float limit, int max_ulps)
ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_v4v4_relative(const float a[4], const float b[4], float limit, int max_ulps)
MINLINE bool compare_v4v4_relative(const float v1[4], const float v2[4], float limit, int max_ulps)
ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_len_v3v3(const float a[3],
const float b[3],
MINLINE bool compare_len_v3v3(const float v1[3],
const float v2[3],
float limit) ATTR_WARN_UNUSED_RESULT;
MINLINE bool compare_size_v3v3(const float a[3],
const float b[3],
MINLINE bool compare_size_v3v3(const float v1[3],
const float v2[3],
float limit) ATTR_WARN_UNUSED_RESULT;
/**
@ -606,8 +612,8 @@ void project_v3_plane(float out[3], const float plane_no[3], const float plane_c
* out: result (negate for a 'bounce').
* </pre>
*/
void reflect_v3_v3v3(float out[3], const float vec[3], const float normal[3]);
void reflect_v3_v3v3_db(double out[3], const double vec[3], const double normal[3]);
void reflect_v3_v3v3(float out[3], const float v[3], const float normal[3]);
void reflect_v3_v3v3_db(double out[3], const double v[3], const double normal[3]);
/**
* Takes a vector and computes 2 orthogonal directions.
*
@ -655,10 +661,10 @@ void print_vn(const char *str, const float v[], int n);
#define print_v4_id(v) print_v4(STRINGIFY(v), v)
#define print_vn_id(v, n) print_vn(STRINGIFY(v), v, n)
MINLINE void normal_float_to_short_v2(short r[2], const float n[2]);
MINLINE void normal_short_to_float_v3(float r[3], const short n[3]);
MINLINE void normal_float_to_short_v3(short r[3], const float n[3]);
MINLINE void normal_float_to_short_v4(short r[4], const float n[4]);
MINLINE void normal_float_to_short_v2(short out[2], const float in[2]);
MINLINE void normal_short_to_float_v3(float out[3], const short in[3]);
MINLINE void normal_float_to_short_v3(short out[3], const float in[3]);
MINLINE void normal_float_to_short_v4(short out[4], const float in[4]);
void minmax_v4v4_v4(float min[4], float max[4], const float vec[4]);
void minmax_v3v3_v3(float min[3], float max[3], const float vec[3]);

View File

@ -157,8 +157,8 @@ size_t BLI_strnlen_utf8(const char *strc, size_t maxlen) ATTR_NONNULL(1) ATTR_WA
size_t BLI_strncpy_wchar_as_utf8(char *__restrict dst,
const wchar_t *__restrict src,
size_t maxncpy) ATTR_NONNULL(1, 2);
size_t BLI_strncpy_wchar_from_utf8(wchar_t *__restrict dst,
const char *__restrict src,
size_t BLI_strncpy_wchar_from_utf8(wchar_t *__restrict dst_w,
const char *__restrict src_c,
size_t maxncpy) ATTR_NONNULL(1, 2);
/**

View File

@ -787,14 +787,14 @@ void mul_m2_v2(const float mat[2][2], float vec[2])
mul_v2_m2v2(vec, mat, vec);
}
void mul_mat3_m4_v3(const float M[4][4], float r[3])
void mul_mat3_m4_v3(const float mat[4][4], float r[3])
{
const float x = r[0];
const float y = r[1];
r[0] = x * M[0][0] + y * M[1][0] + M[2][0] * r[2];
r[1] = x * M[0][1] + y * M[1][1] + M[2][1] * r[2];
r[2] = x * M[0][2] + y * M[1][2] + M[2][2] * r[2];
r[0] = x * mat[0][0] + y * mat[1][0] + mat[2][0] * r[2];
r[1] = x * mat[0][1] + y * mat[1][1] + mat[2][1] * r[2];
r[2] = x * mat[0][2] + y * mat[1][2] + mat[2][2] * r[2];
}
void mul_v3_mat3_m4v3(float r[3], const float mat[4][4], const float vec[3])
@ -1116,32 +1116,32 @@ double determinant_m3_array_db(const double m[3][3])
m[2][0] * (m[0][1] * m[1][2] - m[0][2] * m[1][1]));
}
bool invert_m2_m2(float m1[2][2], const float m2[2][2])
bool invert_m2_m2(float inverse[2][2], const float mat[2][2])
{
adjoint_m2_m2(m1, m2);
float det = determinant_m2(m2[0][0], m2[1][0], m2[0][1], m2[1][1]);
adjoint_m2_m2(inverse, mat);
float det = determinant_m2(mat[0][0], mat[1][0], mat[0][1], mat[1][1]);
bool success = (det != 0.0f);
if (success) {
m1[0][0] /= det;
m1[1][0] /= det;
m1[0][1] /= det;
m1[1][1] /= det;
inverse[0][0] /= det;
inverse[1][0] /= det;
inverse[0][1] /= det;
inverse[1][1] /= det;
}
return success;
}
bool invert_m3_ex(float m[3][3], const float epsilon)
bool invert_m3_ex(float mat[3][3], const float epsilon)
{
float tmp[3][3];
const bool success = invert_m3_m3_ex(tmp, m, epsilon);
float mat_tmp[3][3];
const bool success = invert_m3_m3_ex(mat_tmp, mat, epsilon);
copy_m3_m3(m, tmp);
copy_m3_m3(mat, mat_tmp);
return success;
}
bool invert_m3_m3_ex(float m1[3][3], const float m2[3][3], const float epsilon)
bool invert_m3_m3_ex(float inverse[3][3], const float mat[3][3], const float epsilon)
{
float det;
int a, b;
@ -1150,10 +1150,10 @@ bool invert_m3_m3_ex(float m1[3][3], const float m2[3][3], const float epsilon)
BLI_assert(epsilon >= 0.0f);
/* calc adjoint */
adjoint_m3_m3(m1, m2);
adjoint_m3_m3(inverse, mat);
/* then determinant old matrix! */
det = determinant_m3_array(m2);
det = determinant_m3_array(mat);
success = (fabsf(det) > epsilon);
@ -1161,33 +1161,33 @@ bool invert_m3_m3_ex(float m1[3][3], const float m2[3][3], const float epsilon)
det = 1.0f / det;
for (a = 0; a < 3; a++) {
for (b = 0; b < 3; b++) {
m1[a][b] *= det;
inverse[a][b] *= det;
}
}
}
return success;
}
bool invert_m3(float m[3][3])
bool invert_m3(float mat[3][3])
{
float tmp[3][3];
const bool success = invert_m3_m3(tmp, m);
float mat_tmp[3][3];
const bool success = invert_m3_m3(mat_tmp, mat);
copy_m3_m3(m, tmp);
copy_m3_m3(mat, mat_tmp);
return success;
}
bool invert_m3_m3(float m1[3][3], const float m2[3][3])
bool invert_m3_m3(float inverse[3][3], const float mat[3][3])
{
float det;
int a, b;
bool success;
/* calc adjoint */
adjoint_m3_m3(m1, m2);
adjoint_m3_m3(inverse, mat);
/* then determinant old matrix! */
det = determinant_m3_array(m2);
det = determinant_m3_array(mat);
success = (det != 0.0f);
@ -1195,7 +1195,7 @@ bool invert_m3_m3(float m1[3][3], const float m2[3][3])
det = 1.0f / det;
for (a = 0; a < 3; a++) {
for (b = 0; b < 3; b++) {
m1[a][b] *= det;
inverse[a][b] *= det;
}
}
}
@ -1203,12 +1203,12 @@ bool invert_m3_m3(float m1[3][3], const float m2[3][3])
return success;
}
bool invert_m4(float m[4][4])
bool invert_m4(float mat[4][4])
{
float tmp[4][4];
const bool success = invert_m4_m4(tmp, m);
float mat_tmp[4][4];
const bool success = invert_m4_m4(mat_tmp, mat);
copy_m4_m4(m, tmp);
copy_m4_m4(mat, mat_tmp);
return success;
}
@ -2191,11 +2191,11 @@ float mat4_to_scale(const float mat[4][4])
return len_v3(unit_vec);
}
float mat4_to_xy_scale(const float M[4][4])
float mat4_to_xy_scale(const float mat[4][4])
{
/* unit length vector in xy plane */
float unit_vec[3] = {(float)M_SQRT1_2, (float)M_SQRT1_2, 0.0f};
mul_mat3_m4_v3(M, unit_vec);
mul_mat3_m4_v3(mat, unit_vec);
return len_v3(unit_vec);
}
@ -2568,11 +2568,8 @@ void loc_eul_size_to_mat4(float R[4][4],
R[3][2] = loc[2];
}
void loc_eulO_size_to_mat4(float R[4][4],
const float loc[3],
const float eul[3],
const float size[3],
const short rotOrder)
void loc_eulO_size_to_mat4(
float R[4][4], const float loc[3], const float eul[3], const float size[3], const short order)
{
float rmat[3][3], smat[3][3], tmat[3][3];
@ -2580,7 +2577,7 @@ void loc_eulO_size_to_mat4(float R[4][4],
unit_m4(R);
/* Make rotation + scaling part. */
eulO_to_mat3(rmat, eul, rotOrder);
eulO_to_mat3(rmat, eul, order);
size_to_mat3(smat, size);
mul_m3_m3m3(tmat, rmat, smat);
@ -3082,14 +3079,14 @@ void svd_m4(float U[4][4], float s[4], float V[4][4], float A_[4][4])
}
}
void pseudoinverse_m4_m4(float Ainv[4][4], const float A_[4][4], float epsilon)
void pseudoinverse_m4_m4(float inverse[4][4], const float mat[4][4], float epsilon)
{
/* compute Moore-Penrose pseudo inverse of matrix, singular values
* below epsilon are ignored for stability (truncated SVD) */
float A[4][4], V[4][4], W[4], Wm[4][4], U[4][4];
int i;
transpose_m4_m4(A, A_);
transpose_m4_m4(A, mat);
svd_m4(V, W, U, A);
transpose_m4(U);
transpose_m4(V);
@ -3101,18 +3098,18 @@ void pseudoinverse_m4_m4(float Ainv[4][4], const float A_[4][4], float epsilon)
transpose_m4(V);
mul_m4_series(Ainv, U, Wm, V);
mul_m4_series(inverse, U, Wm, V);
}
void pseudoinverse_m3_m3(float Ainv[3][3], const float A[3][3], float epsilon)
void pseudoinverse_m3_m3(float inverse[3][3], const float mat[3][3], float epsilon)
{
/* try regular inverse when possible, otherwise fall back to slow svd */
if (!invert_m3_m3(Ainv, A)) {
float tmp[4][4], tmpinv[4][4];
if (!invert_m3_m3(inverse, mat)) {
float mat_tmp[4][4], tmpinv[4][4];
copy_m4_m3(tmp, A);
pseudoinverse_m4_m4(tmpinv, tmp, epsilon);
copy_m3_m4(Ainv, tmpinv);
copy_m4_m3(mat_tmp, mat);
pseudoinverse_m4_m4(tmpinv, mat_tmp, epsilon);
copy_m3_m4(inverse, tmpinv);
}
}
@ -3122,22 +3119,22 @@ bool has_zero_axis_m4(const float matrix[4][4])
len_squared_v3(matrix[2]) < FLT_EPSILON;
}
void invert_m4_m4_safe(float Ainv[4][4], const float A[4][4])
void invert_m4_m4_safe(float inverse[4][4], const float mat[4][4])
{
if (!invert_m4_m4(Ainv, A)) {
float Atemp[4][4];
if (!invert_m4_m4(inverse, mat)) {
float mat_tmp[4][4];
copy_m4_m4(Atemp, A);
copy_m4_m4(mat_tmp, mat);
/* Matrix is degenerate (e.g. 0 scale on some axis), ideally we should
* never be in this situation, but try to invert it anyway with tweak.
*/
Atemp[0][0] += 1e-8f;
Atemp[1][1] += 1e-8f;
Atemp[2][2] += 1e-8f;
mat_tmp[0][0] += 1e-8f;
mat_tmp[1][1] += 1e-8f;
mat_tmp[2][2] += 1e-8f;
if (!invert_m4_m4(Ainv, Atemp)) {
unit_m4(Ainv);
if (!invert_m4_m4(inverse, mat_tmp)) {
unit_m4(inverse);
}
}
}
@ -3157,24 +3154,24 @@ void invert_m4_m4_safe(float Ainv[4][4], const float A[4][4])
* where we want to specify the length of the degenerate axes.
* \{ */
void invert_m4_m4_safe_ortho(float Ainv[4][4], const float A[4][4])
void invert_m4_m4_safe_ortho(float inverse[4][4], const float mat[4][4])
{
if (UNLIKELY(!invert_m4_m4(Ainv, A))) {
float Atemp[4][4];
copy_m4_m4(Atemp, A);
if (UNLIKELY(!(orthogonalize_m4_zero_axes(Atemp, 1.0f) && invert_m4_m4(Ainv, Atemp)))) {
unit_m4(Ainv);
if (UNLIKELY(!invert_m4_m4(inverse, mat))) {
float mat_tmp[4][4];
copy_m4_m4(mat_tmp, mat);
if (UNLIKELY(!(orthogonalize_m4_zero_axes(mat_tmp, 1.0f) && invert_m4_m4(inverse, mat_tmp)))) {
unit_m4(inverse);
}
}
}
void invert_m3_m3_safe_ortho(float Ainv[3][3], const float A[3][3])
void invert_m3_m3_safe_ortho(float inverse[3][3], const float mat[3][3])
{
if (UNLIKELY(!invert_m3_m3(Ainv, A))) {
float Atemp[3][3];
copy_m3_m3(Atemp, A);
if (UNLIKELY(!(orthogonalize_m3_zero_axes(Atemp, 1.0f) && invert_m3_m3(Ainv, Atemp)))) {
unit_m3(Ainv);
if (UNLIKELY(!invert_m3_m3(inverse, mat))) {
float mat_tmp[3][3];
copy_m3_m3(mat_tmp, mat);
if (UNLIKELY(!(orthogonalize_m3_zero_axes(mat_tmp, 1.0f) && invert_m3_m3(inverse, mat_tmp)))) {
unit_m3(inverse);
}
}
}

View File

@ -332,29 +332,29 @@ void mat3_normalized_to_quat(float q[4], const float mat[3][3])
normalize_qt(q);
}
void mat3_to_quat(float q[4], const float m[3][3])
void mat3_to_quat(float q[4], const float mat[3][3])
{
float unit_mat[3][3];
/* work on a copy */
/* this is needed AND a 'normalize_qt' in the end */
normalize_m3_m3(unit_mat, m);
normalize_m3_m3(unit_mat, mat);
mat3_normalized_to_quat(q, unit_mat);
}
void mat4_normalized_to_quat(float q[4], const float m[4][4])
void mat4_normalized_to_quat(float q[4], const float mat[4][4])
{
float mat3[3][3];
copy_m3_m4(mat3, m);
copy_m3_m4(mat3, mat);
mat3_normalized_to_quat(q, mat3);
}
void mat4_to_quat(float q[4], const float m[4][4])
void mat4_to_quat(float q[4], const float mat[4][4])
{
float mat3[3][3];
copy_m3_m4(mat3, m);
copy_m3_m4(mat3, mat);
mat3_to_quat(q, mat3);
}
@ -498,7 +498,10 @@ void rotation_between_quats_to_quat(float q[4], const float q1[4], const float q
mul_qt_qtqt(q, tquat, q2);
}
float quat_split_swing_and_twist(const float q_in[4], int axis, float r_swing[4], float r_twist[4])
float quat_split_swing_and_twist(const float q_in[4],
const int axis,
float r_swing[4],
float r_twist[4])
{
BLI_assert(axis >= 0 && axis <= 2);
@ -1381,10 +1384,10 @@ void mat4_normalized_to_eul(float eul[3], const float m[4][4])
copy_m3_m4(mat3, m);
mat3_normalized_to_eul(eul, mat3);
}
void mat4_to_eul(float eul[3], const float m[4][4])
void mat4_to_eul(float eul[3], const float mat[4][4])
{
float mat3[3][3];
copy_m3_m4(mat3, m);
copy_m3_m4(mat3, mat);
mat3_to_eul(eul, mat3);
}
@ -1419,7 +1422,7 @@ void eul_to_quat(float quat[4], const float eul[3])
quat[3] = cj * cs - sj * sc;
}
void rotate_eul(float beul[3], const char axis, const float ang)
void rotate_eul(float beul[3], const char axis, const float angle)
{
float eul[3], mat1[3][3], mat2[3][3], totmat[3][3];
@ -1427,13 +1430,13 @@ void rotate_eul(float beul[3], const char axis, const float ang)
eul[0] = eul[1] = eul[2] = 0.0f;
if (axis == 'X') {
eul[0] = ang;
eul[0] = angle;
}
else if (axis == 'Y') {
eul[1] = ang;
eul[1] = angle;
}
else {
eul[2] = ang;
eul[2] = angle;
}
eul_to_mat3(mat1, eul);
@ -1789,23 +1792,23 @@ void mat3_to_compatible_eulO(float eul[3],
void mat4_normalized_to_compatible_eulO(float eul[3],
const float oldrot[3],
const short order,
const float m[4][4])
const float mat[4][4])
{
float mat3[3][3];
/* for now, we'll just do this the slow way (i.e. copying matrices) */
copy_m3_m4(mat3, m);
copy_m3_m4(mat3, mat);
mat3_normalized_to_compatible_eulO(eul, oldrot, order, mat3);
}
void mat4_to_compatible_eulO(float eul[3],
const float oldrot[3],
const short order,
const float m[4][4])
const float mat[4][4])
{
float mat3[3][3];
/* for now, we'll just do this the slow way (i.e. copying matrices) */
copy_m3_m4(mat3, m);
copy_m3_m4(mat3, mat);
normalize_m3(mat3);
mat3_normalized_to_compatible_eulO(eul, oldrot, order, mat3);
}
@ -1824,7 +1827,7 @@ void quat_to_compatible_eulO(float eul[3],
/* rotate the given euler by the given angle on the specified axis */
/* NOTE: is this safe to do with different axis orders? */
void rotate_eulO(float beul[3], const short order, char axis, float ang)
void rotate_eulO(float beul[3], const short order, const char axis, const float angle)
{
float eul[3], mat1[3][3], mat2[3][3], totmat[3][3];
@ -1833,13 +1836,13 @@ void rotate_eulO(float beul[3], const short order, char axis, float ang)
zero_v3(eul);
if (axis == 'X') {
eul[0] = ang;
eul[0] = angle;
}
else if (axis == 'Y') {
eul[1] = ang;
eul[1] = angle;
}
else {
eul[2] = ang;
eul[2] = angle;
}
eulO_to_mat3(mat1, eul, order);

View File

@ -1125,7 +1125,7 @@ float BLI_noise_cell(float x, float y, float z)
return (2.0f * BLI_cellNoiseU(x, y, z) - 1.0f);
}
void BLI_noise_cell_v3(float x, float y, float z, float ca[3])
void BLI_noise_cell_v3(float x, float y, float z, float r_ca[3])
{
/* avoid precision issues on unit coordinates */
x = (x + 0.000001f) * 1.00001f;
@ -1136,9 +1136,9 @@ void BLI_noise_cell_v3(float x, float y, float z, float ca[3])
int yi = (int)(floor(y));
int zi = (int)(floor(z));
const float *p = HASHPNT(xi, yi, zi);
ca[0] = p[0];
ca[1] = p[1];
ca[2] = p[2];
r_ca[0] = p[0];
r_ca[1] = p[1];
r_ca[2] = p[2];
}
/** \} */

View File

@ -183,9 +183,13 @@ void EDBM_project_snap_verts(struct bContext *C,
/* editmesh_automerge.c */
void EDBM_automerge(struct Object *ob, bool update, char hflag, float dist);
void EDBM_automerge_and_split(
struct Object *ob, bool split_edges, bool split_faces, bool update, char hflag, float dist);
void EDBM_automerge(struct Object *obedit, bool update, char hflag, float dist);
void EDBM_automerge_and_split(struct Object *obedit,
bool split_edges,
bool split_faces,
bool update,
char hflag,
float dist);
/* editmesh_undo.c */