|
Blender V4.5
|
#include "BLI_math_matrix.h"#include "BLI_math_rotation.h"#include "BLI_math_solvers.h"#include "BLI_math_vector.h"#include "BLI_simd.hh"#include "eigen_capi.h"#include <cstring>#include "BLI_strict_flags.h"Go to the source code of this file.
Functions | |
| void | zero_m3 (float m[3][3]) |
| void | zero_m4 (float m[4][4]) |
| void | unit_m2 (float m[2][2]) |
| void | unit_m3 (float m[3][3]) |
| void | unit_m4 (float m[4][4]) |
| void | unit_m4_db (double m[4][4]) |
| void | copy_m2_m2 (float m1[2][2], const float m2[2][2]) |
| void | copy_m3_m3 (float m1[3][3], const float m2[3][3]) |
| void | copy_m4_m4 (float m1[4][4], const float m2[4][4]) |
| void | copy_m4_m4_db (double m1[4][4], const double m2[4][4]) |
| void | copy_m3_m4 (float m1[3][3], const float m2[4][4]) |
| void | copy_m4_m3 (float m1[4][4], const float m2[3][3]) |
| void | copy_m3d_m3 (double m1[3][3], const float m2[3][3]) |
| void | copy_m4d_m4 (double m1[4][4], const float m2[4][4]) |
| void | copy_m3_m3d (float m1[3][3], const double m2[3][3]) |
| void | swap_m4m4 (float m1[4][4], float m2[4][4]) |
| void | shuffle_m4 (float R[4][4], const int index[4]) |
| void | mul_m4_m4m4 (float R[4][4], const float A[4][4], const float B[4][4]) |
| void | mul_m4db_m4db_m4fl (double R[4][4], const double A[4][4], const float B[4][4]) |
| void | mul_m4_m4_pre (float R[4][4], const float A[4][4]) |
| void | mul_m4_m4_post (float R[4][4], const float B[4][4]) |
| void | mul_m3_m3_pre (float R[3][3], const float A[3][3]) |
| void | mul_m3_m3_post (float R[3][3], const float B[3][3]) |
| void | mul_m3_m3m3 (float R[3][3], const float A[3][3], const float B[3][3]) |
| void | mul_m4_m4m3 (float R[4][4], const float A[4][4], const float B[3][3]) |
| void | mul_m3_m3m4 (float R[3][3], const float A[3][3], const float B[4][4]) |
| void | mul_m3_m4m3 (float R[3][3], const float A[4][4], const float B[3][3]) |
| void | mul_m4_m3m4 (float R[4][4], const float A[3][3], const float B[4][4]) |
| void | mul_m3_m4m4 (float R[3][3], const float A[4][4], const float B[4][4]) |
| void | mul_v2_m3v2 (float r[2], const float m[3][3], const float v[2]) |
| void | mul_m3_v2 (const float m[3][3], float r[2]) |
| void | mul_m4_v3 (const float M[4][4], float r[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 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]) |
| 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_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 mat[4][4], const float vec[3]) |
| void | mul_v4_m4v4 (float r[4], const float mat[4][4], const float v[4]) |
| void | mul_m4_v4 (const float mat[4][4], float r[4]) |
| void | mul_v4_m4v3 (float r[4], const float M[4][4], const float v[3]) |
| void | mul_v3_m3v3 (float r[3], const float M[3][3], const float a[3]) |
| void | mul_v3_m3v3_db (double r[3], const double M[3][3], const double a[3]) |
| void | mul_v2_m3v3 (float r[2], const float M[3][3], const float a[3]) |
| void | mul_m3_v3 (const float M[3][3], float r[3]) |
| void | mul_m3_v3_db (const double M[3][3], double r[3]) |
| void | mul_transposed_m3_v3 (const float M[3][3], float r[3]) |
| void | mul_transposed_mat3_m4_v3 (const float M[4][4], float r[3]) |
| void | mul_m3_fl (float R[3][3], float f) |
| void | mul_m4_fl (float R[4][4], float f) |
| void | mul_mat3_m4_fl (float R[4][4], float f) |
| void | negate_m3 (float R[3][3]) |
| void | negate_mat3_m4 (float R[4][4]) |
| void | negate_m4 (float R[4][4]) |
| void | add_m3_m3m3 (float R[3][3], const float A[3][3], const float B[3][3]) |
| void | add_m4_m4m4 (float R[4][4], const float A[4][4], const float B[4][4]) |
| void | madd_m3_m3m3fl (float R[3][3], const float A[3][3], const float B[3][3], const float f) |
| void | madd_m4_m4m4fl (float R[4][4], const float A[4][4], const float B[4][4], const float f) |
| void | sub_m3_m3m3 (float R[3][3], const float A[3][3], const float B[3][3]) |
| float | determinant_m3_array (const float m[3][3]) |
| float | determinant_m4_mat3_array (const float m[4][4]) |
| bool | invert_m2_m2 (float inverse[2][2], const float mat[2][2]) |
| bool | invert_m3 (float mat[3][3]) |
| bool | invert_m3_m3 (float inverse[3][3], const float mat[3][3]) |
| bool | invert_m4 (float mat[4][4]) |
| bool | invert_m4_m4_fallback (float inverse[4][4], const float mat[4][4]) |
| bool | invert_m4_m4 (float inverse[4][4], const float mat[4][4]) |
| void | mul_m4_m4m4_aligned_scale (float R[4][4], const float A[4][4], const float B[4][4]) |
| void | mul_m4_m4m4_split_channels (float R[4][4], const float A[4][4], const float B[4][4]) |
| void | transpose_m3 (float R[3][3]) |
| void | transpose_m3_m3 (float R[3][3], const float M[3][3]) |
| void | transpose_m3_m4 (float R[3][3], const float M[4][4]) |
| void | transpose_m4 (float R[4][4]) |
| void | transpose_m4_m4 (float R[4][4], const float M[4][4]) |
| bool | compare_m4m4 (const float mat1[4][4], const float mat2[4][4], float limit) |
| void | orthogonalize_m3 (float R[3][3], int axis) |
| void | orthogonalize_m4 (float R[4][4], int axis) |
| static void | orthogonalize_stable (float v1[3], float v2[3], float v3[3], bool normalize) |
| void | orthogonalize_m4_stable (float R[4][4], int axis, bool normalize) |
| 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 m[3][3]) |
| bool | is_uniform_scaled_m4 (const float m[4][4]) |
| void | normalize_m2_m2 (float R[2][2], const float M[2][2]) |
| void | normalize_m3 (float R[3][3]) |
| void | normalize_m3_m3 (float R[3][3], const float M[3][3]) |
| void | normalize_m4_ex (float R[4][4], float r_scale[3]) |
| void | normalize_m4 (float R[4][4]) |
| void | normalize_m4_m4 (float rmat[4][4], const float mat[4][4]) |
| void | adjoint_m2_m2 (float R[2][2], const float M[2][2]) |
| void | adjoint_m3_m3 (float R[3][3], const float M[3][3]) |
| void | adjoint_m4_m4 (float R[4][4], const float M[4][4]) |
| float | determinant_m2 (const float a, const float b, const float c, const float d) |
| float | determinant_m3 (float a1, float a2, float a3, float b1, float b2, float b3, float c1, float c2, float c3) |
| float | determinant_m4 (const float m[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]) |
| void | mat3_to_size (float size[3], const float M[3][3]) |
| void | mat4_to_size (float size[3], const float M[4][4]) |
| 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]) |
| float | mat4_to_volume_scale (const float mat[4][4]) |
| float | mat3_to_scale (const float mat[3][3]) |
| float | mat4_to_scale (const float mat[4][4]) |
| void | mat3_to_rot_size (float rot[3][3], float size[3], const float mat3[3][3]) |
| void | mat4_to_loc_rot_size (float loc[3], float rot[3][3], float size[3], const float wmat[4][4]) |
| void | mat4_to_loc_quat (float loc[3], float quat[4], const float wmat[4][4]) |
| void | mat4_decompose (float loc[3], float quat[4], float size[3], const float wmat[4][4]) |
| void | mat3_polar_decompose (const float mat3[3][3], float r_U[3][3], float r_P[3][3]) |
| void | scale_m3_fl (float R[3][3], float scale) |
| void | scale_m4_fl (float R[4][4], float scale) |
| void | translate_m4 (float mat[4][4], float Tx, float Ty, float Tz) |
| void | rotate_m4 (float mat[4][4], const char axis, const float angle) |
| void | rescale_m4 (float mat[4][4], const float scale[3]) |
| void | transform_pivot_set_m4 (float mat[4][4], const float pivot[3]) |
| void | blend_m3_m3m3 (float out[3][3], const float dst[3][3], const float src[3][3], const float srcweight) |
| void | blend_m4_m4m4 (float out[4][4], const float dst[4][4], const float src[4][4], const float srcweight) |
| void | interp_m3_m3m3 (float R[3][3], const float A[3][3], const float B[3][3], const float t) |
| void | interp_m4_m4m4 (float R[4][4], const float A[4][4], const float B[4][4], const float t) |
| bool | is_negative_m3 (const float mat[3][3]) |
| bool | is_negative_m4 (const float mat[4][4]) |
| bool | is_zero_m4 (const float mat[4][4]) |
| bool | equals_m3m3 (const float mat1[3][3], const float mat2[3][3]) |
| bool | equals_m4m4 (const float mat1[4][4], const float mat2[4][4]) |
| void | loc_rot_size_to_mat4 (float R[4][4], const float loc[3], const float rot[3][3], const float size[3]) |
| void | loc_eul_size_to_mat4 (float R[4][4], const float loc[3], const float eul[3], const float size[3]) |
| 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) |
| void | loc_quat_size_to_mat4 (float R[4][4], const float loc[3], const float quat[4], const float size[3]) |
| void | print_m3 (const char *str, const float m[3][3]) |
| void | print_m4 (const char *str, const float m[4][4]) |
| 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 inverse[4][4], const float mat[4][4]) |
| void | BLI_space_transform_from_matrices (SpaceTransform *data, const float local[4][4], const float target[4][4]) |
| void | BLI_space_transform_global_from_matrices (SpaceTransform *data, const float local[4][4], const float target[4][4]) |
| void | BLI_space_transform_apply (const SpaceTransform *data, float co[3]) |
| void | BLI_space_transform_invert (const SpaceTransform *data, float co[3]) |
| void | BLI_space_transform_apply_normal (const SpaceTransform *data, float no[3]) |
| void | BLI_space_transform_invert_normal (const SpaceTransform *data, float no[3]) |
Macro helpers for: mul_m3_series | |
| void | _va_mul_m3_series_3 (float r[3][3], const float m1[3][3], const float m2[3][3]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
Macro helpers for: mul_m4_series | |
| void | _va_mul_m4_series_3 (float r[4][4], const float m1[4][4], const float m2[4][4]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
| 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]) |
Orthogonalize Matrix Zeroed Axes | |
Set any zeroed axes to an orthogonal vector in relation to the other axes. Typically used so matrix inversion can be performed.
| |
| static bool | orthogonalize_m3_zero_axes_impl (float *mat[3], const float unit_length) |
| bool | orthogonalize_m3_zero_axes (float m[3][3], const float unit_length) |
| bool | orthogonalize_m4_zero_axes (float m[4][4], const float unit_length) |
Invert (Safe Orthographic) | |
Invert the matrix, filling in zeroed axes using the valid ones where possible. Unlike invert_m4_m4_safe set degenerate axis unit length instead of adding a small value, which has the results in:
| |
| void | invert_m4_m4_safe_ortho (float inverse[4][4], const float mat[4][4]) |
| void | invert_m3_m3_safe_ortho (float inverse[3][3], const float mat[3][3]) |
| void _va_mul_m3_series_3 | ( | float | r[3][3], |
| const float | m1[3][3], | ||
| const float | m2[3][3] ) |
Definition at line 448 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 452 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 461 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 473 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 487 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 503 of file math_matrix_c.cc.
References mul_m3_m3m3().
| 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] ) |
Definition at line 521 of file math_matrix_c.cc.
References mul_m3_m3m3().
| void _va_mul_m4_series_3 | ( | float | r[4][4], |
| const float | m1[4][4], | ||
| const float | m2[4][4] ) |
Definition at line 548 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 552 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 561 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 573 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 587 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 603 of file math_matrix_c.cc.
References mul_m4_m4m4().
| 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] ) |
Definition at line 621 of file math_matrix_c.cc.
References mul_m4_m4m4().
| void add_m3_m3m3 | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[3][3] ) |
Definition at line 934 of file math_matrix_c.cc.
Referenced by apply_spring(), SIM_mass_spring_force_drag(), SIM_mass_spring_force_extern(), SIM_mass_spring_force_reference_frame(), SIM_mass_spring_force_spring_bending_hair(), SIM_mass_spring_force_spring_goal(), and vcloud_estimate_transform_v3().
| void add_m4_m4m4 | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4] ) |
Definition at line 945 of file math_matrix_c.cc.
Referenced by add_weighted_dq_dq().
| void adjoint_m2_m2 | ( | float | R[2][2], |
| const float | M[2][2] ) |
Definition at line 1762 of file math_matrix_c.cc.
Referenced by adjoint_matrix_n(), and invert_m2_m2().
| void adjoint_m3_m3 | ( | float | R[3][3], |
| const float | M[3][3] ) |
Definition at line 1775 of file math_matrix_c.cc.
References BLI_assert, M, and R.
Referenced by adjoint_matrix_n(), and invert_m3_m3().
| void adjoint_m4_m4 | ( | float | R[4][4], |
| const float | M[4][4] ) |
Definition at line 1791 of file math_matrix_c.cc.
References determinant_m3(), M, and R.
Referenced by adjoint_matrix_n().
| void blend_m3_m3m3 | ( | float | out[3][3], |
| const float | dst[3][3], | ||
| const float | src[3][3], | ||
| const float | srcweight ) |
Definition at line 2128 of file math_matrix_c.cc.
References interp_qt_qtqt(), interp_v3_v3v3(), mat3_normalized_to_quat_fast(), mat3_to_rot_size(), mul_m3_m3m3(), out, quat_to_mat3(), and size_to_mat3().
Referenced by execute_posetree(), and Matrix_lerp().
| void blend_m4_m4m4 | ( | float | out[4][4], |
| const float | dst[4][4], | ||
| const float | src[4][4], | ||
| const float | srcweight ) |
Definition at line 2154 of file math_matrix_c.cc.
References interp_qt_qtqt(), interp_v3_v3v3(), loc_quat_size_to_mat4(), mat3_normalized_to_quat_fast(), mat4_to_loc_rot_size(), and out.
Referenced by BKE_tracking_camera_get_reconstructed_interpolate(), Matrix_lerp(), target_callback(), and warpModifier_do().
| void BLI_space_transform_apply | ( | const SpaceTransform * | data, |
| float | co[3] ) |
Definition at line 2932 of file math_matrix_c.cc.
References data, and mul_v3_m4v3().
| void BLI_space_transform_apply_normal | ( | const SpaceTransform * | data, |
| float | no[3] ) |
Definition at line 2942 of file math_matrix_c.cc.
References data, mul_mat3_m4_v3(), and normalize_v3().
| void BLI_space_transform_from_matrices | ( | struct SpaceTransform * | data, |
| const float | local[4][4], | ||
| const float | target[4][4] ) |
Global-invariant transform.
This defines a matrix transforming a point in local space to a point in target space such that its global coordinates remain unchanged.
In other words, if we have a global point P with local coordinates (x, y, z) and global coordinates (X, Y, Z), this defines a transform matrix TM such that (x', y', z') = TM * (x, y, z) where (x', y', z') are the coordinates of P' in target space such that it keeps (X, Y, Z) coordinates in global space.
Definition at line 2912 of file math_matrix_c.cc.
References data, invert_m4_m4(), and mul_m4_m4m4().
Referenced by shrinkwrap_get_tarmat().
| void BLI_space_transform_global_from_matrices | ( | struct SpaceTransform * | data, |
| const float | local[4][4], | ||
| const float | target[4][4] ) |
Local-invariant transform.
This defines a matrix transforming a point in global space such that its local coordinates (from local space to target space) remain unchanged.
In other words, if we have a local point p with local coordinates (x, y, z) and global coordinates (X, Y, Z), this defines a transform matrix TM such that (X', Y', Z') = TM * (X, Y, Z) where (X', Y', Z') are the coordinates of p' in global space such that it keeps (x, y, z) coordinates in target space.
Definition at line 2922 of file math_matrix_c.cc.
References data, invert_m4_m4(), and mul_m4_m4m4().
Referenced by BKE_mesh_remap_find_best_match_from_mesh().
| void BLI_space_transform_invert | ( | const SpaceTransform * | data, |
| float | co[3] ) |
Definition at line 2937 of file math_matrix_c.cc.
References data, and mul_v3_m4v3().
| void BLI_space_transform_invert_normal | ( | const SpaceTransform * | data, |
| float | no[3] ) |
Definition at line 2948 of file math_matrix_c.cc.
References data, mul_mat3_m4_v3(), and normalize_v3().
| bool compare_m4m4 | ( | const float | mat1[4][4], |
| const float | mat2[4][4], | ||
| float | limit ) |
Definition at line 1273 of file math_matrix_c.cc.
References compare_v4v4().
Referenced by blender::io::usd::USDTransformWriter::do_write(), blender::eevee::operator==(), and blender::ed::transform::snap_object_context_runtime_init().
| void copy_m2_m2 | ( | float | m1[2][2], |
| const float | m2[2][2] ) |
Definition at line 68 of file math_matrix_c.cc.
Referenced by matrix_invert_safe_internal().
| void copy_m3_m3 | ( | float | m1[3][3], |
| const float | m2[3][3] ) |
Definition at line 73 of file math_matrix_c.cc.
Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::transform::addMatrixSpace(), blender::ed::transform::applyBoneSize(), blender::ed::transform::applyResize(), blender::ed::transform::applyTransformOrientation(), armature_vert_task_with_dvert(), blender::ed::transform::bezt_to_transdata(), BKE_crazyspace_build_sculpt(), BKE_object_rot_to_mat3(), build_emats_stack(), blender::ed::transform::calc_gizmo_stats(), calc_initial_placement_point_from_view(), blender::ed::transform::calc_orientation_from_type_ex(), cancel_slide_point(), cloth_hair_update_bending_rest_targets(), cloth_hair_update_bending_targets(), connection_node_frames(), connection_node_mat(), copy_bone_transform(), blender::ed::transform::createTransArmatureVerts(), blender::ed::transform::createTransCursor_view3d(), blender::ed::transform::createTransCurveVerts(), blender::ed::transform::createTransEdge(), blender::ed::transform::createTransLatticeVerts(), blender::ed::transform::createTransMBallVerts(), blender::ed::transform::createTransSculpt(), blender::ed::transform::curves::curve_populate_trans_data_structs(), deform_matrices(), deform_matrices_EM(), blender::ed::transform::ElementResize(), end_node_frames(), execute_posetree(), gizmo_axis_draw(), blender::ed::transform::gizmo_mesh_extrude_refresh(), gizmo_mesh_spin_redo_setup(), invert_m3(), invert_m3_m3_safe_ortho(), blender::ed::transform::MaskHandleToTransData(), blender::ed::transform::MaskPointToTransData(), mat3_align_axis_to_v3(), mat3_from_axis_conversion(), mat3_normalized_to_quat(), mat3_to_quat_legacy(), matrix_invert_safe_internal(), Matrix_rotate(), Matrix_to_euler(), mul_m3_m3m3(), mul_m3_m3m4(), mul_m3_m4m3(), mul_v3m3_dq(), blender::ed::transform::ObjectToTransData(), SB_estimate_transform(), blender::ed::transform::set_prop_dist(), SIM_mass_spring_add_constraint_ndof1(), SIM_mass_spring_add_constraint_ndof2(), SIM_mass_spring_force_drag(), SIM_mass_spring_force_reference_frame(), SIM_mass_spring_force_spring_bending_hair(), SIM_mass_spring_set_rest_transform(), slide_point_customdata(), spring_hairbend_estimate_dfdv(), spring_hairbend_estimate_dfdx(), blender::ed::transform::transdata_elem_shear(), blender::ed::transform::transdata_elem_skin_resize(), blender::ed::transform::transform_convert_mesh_crazyspace_transdata_set(), blender::ed::transform::transform_orientation_matrix_get(), blender::ed::transform::transform_orientations_current_set(), blender::ed::transform::transformViewUpdate(), v3d_cursor_snap_update(), vcloud_estimate_transform_v3(), blender::ed::transform::VertsToTransData(), view3d_interactive_add_calc_snap(), view3d_interactive_add_modal(), and world_to_root_m3().
| void copy_m3_m3d | ( | float | m1[3][3], |
| const double | m2[3][3] ) |
Definition at line 166 of file math_matrix_c.cc.
Referenced by BKE_tracking_homography_between_two_quads(), and track_plane_from_existing_motion().
| void copy_m3_m4 | ( | float | m1[3][3], |
| const float | m2[4][4] ) |
Definition at line 89 of file math_matrix_c.cc.
Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::transform::apply_targetless_ik(), applyarmature_set_edit_position(), armature_bone_primitive_add_exec(), armature_calc_roll_exec(), armature_click_extrude_exec(), armature_finalize_restpose(), armature_transform_recurse(), armature_vert_task_with_dvert(), BKE_armature_transform(), BKE_bone_parent_transform_calc_from_matrices(), BKE_pchan_bbone_handles_compute(), BMD_mesh_intersection(), BMO_slot_mat3_get(), blender::ed::sculpt_paint::filter::cache_init(), blender::ed::transform::calc_gizmo_stats(), blender::ed::transform::calc_orientation_from_type_ex(), camera_frame_fit_data_init(), contarget_get_mesh_mat(), convert_tree(), blender::ed::transform::createObjectSpace(), blender::ed::transform::createTransArmatureVerts(), blender::ed::transform::createTransCurveVerts(), blender::ed::transform::createTransEdge(), blender::ed::transform::createTransEditVerts(), blender::ed::transform::createTransLatticeVerts(), blender::ed::transform::createTransMBallVerts(), blender::ed::transform::createTransMeshSkin(), blender::ed::transform::createTransMeshVertCData(), blender::ed::transform::createTransSculpt(), blender::ed::transform::createTransTexspace(), blender::ed::transform::createViewSpace(), deformVerts_do(), do_version_bone_roll_256(), ED_armature_ebone_from_mat4(), ED_armature_edit_transform(), ed_editnurb_spin(), ED_view3d_from_m4(), ED_view3d_minmax_verts(), edbm_extrude_repeat_exec(), EDBM_unified_findnearest_from_raycast(), execute_posetree(), face_dupli(), flyApply(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::gimbal_axis_object(), blender::ed::transform::gimbal_axis_pose(), blender::ed::transform::gizmo_3d_draw_invoke(), gizmo_axis_draw(), blender::ed::transform::gizmo_mesh_extrude_draw_prepare(), gizmo_mesh_spin_init_draw_prepare(), gizmo_mesh_spin_init_refresh(), GPU_matrix_normal_get(), hair_create_input_mesh(), init_curve_deform(), blender::ed::transform::init_TransDataContainers(), initFlyInfo(), blender::ed::transform::initResize(), interp_m4_m4m4(), is_uniform_scaled_m4(), locktrack_evaluate(), mat4_normalized_to_compatible_eulO(), mat4_normalized_to_eul(), mat4_normalized_to_eulO(), mat4_normalized_to_quat(), mat4_to_compatible_eulO(), mat4_to_dquat(), mat4_to_eul(), mat4_to_eulO(), mat4_to_loc_quat(), mat4_to_loc_rot_size(), mat4_to_quat(), Matrix_to_euler(), meshdeformModifier_do(), modify_mesh(), modify_mesh(), move3d_get_translate(), mul_v3m3_dq(), blender::ed::object::new_primitive_matrix(), nurb_bezt_direction_worldspace_get(), nurb_bpoint_direction_worldspace_get(), blender::ed::object::object_hook_recenter_exec(), blender::ed::object::object_origin_clear_exec(), blender::ed::object::object_transform_axis_target_modal(), blender::ed::transform::ObjectToTransData(), paintface_minmax(), pchan_deform_accumulate(), pivotcon_evaluate(), proj_paint_state_viewport_init(), pseudoinverse_m3_m3(), blender::ed::transform::RotationBetween(), blender::io::ply::set_world_axes_transform(), similar_edge_select_exec(), similar_face_select_exec(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), solve_parenting(), blender::geometry::transform_curve_edit_hints(), blender::ed::transform::transformViewUpdate(), blender::ed::sculpt_paint::vwpaint::update_cache_invariants(), uv_map_transform(), uv_select_similar_edge_exec(), uv_select_similar_face_exec(), uv_select_similar_island_exec(), uv_select_similar_vert_exec(), v3d_cursor_poject_surface_normal(), v3d_cursor_snap_update(), vfont_to_curve(), blender::ed::object::voxel_size_edit_invoke(), walkApply(), blender::ed::transform::WIDGETGROUP_gizmo_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), blender::ed::transform::WIDGETGROUP_xform_shear_draw_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_refresh().
| void copy_m3d_m3 | ( | double | m1[3][3], |
| const float | m2[3][3] ) |
Definition at line 128 of file math_matrix_c.cc.
Referenced by blender::bke::tests::EXPECT_M3_ORTHOGONAL().
| void copy_m4_m3 | ( | float | m1[4][4], |
| const float | m2[3][3] ) |
Definition at line 104 of file math_matrix_c.cc.
Referenced by blender::ed::object::apply_objects_internal(), applyarmature_set_edit_position(), blender::ed::transform::applyRotationMatrix(), blender::ed::transform::applyTrackballMatrix(), axis_angle_to_mat4(), axis_angle_to_mat4_single(), BCMatrix::BCMatrix(), BKE_armature_where_is_bone(), BKE_bone_offset_matrix_get(), BKE_bone_parent_transform_calc_from_matrices(), BKE_object_to_mat4(), BKE_pchan_to_mat4(), BMO_slot_mat_set(), C_Matrix_LocRotScale(), blender::ed::transform::calc_gizmo_stats(), camera_frame_fit_data_init(), blender::io::usd::convert_to_z_up(), blender::io::alembic::copy_m44_axis_swap(), blender::io::usd::USDTransformWriter::do_write(), ED_armature_ebone_to_mat4(), ED_armature_join_objects_exec(), ED_view3d_win_to_3d_on_plane_with_fallback(), eulO_to_mat4(), blender::ed::transform::gizmo_3d_setup_default_matrix(), gizmo_axis_draw(), gizmo_mesh_placement_modal_from_setup(), GPU_shader_uniform_mat3_as_mat4(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), interp_m4_m4m4(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), loc_rot_size_to_mat4(), make_bbone_spline_matrix(), mesh_calc_eigen_matrix(), modify_mesh(), blender::ed::object::new_primitive_matrix(), ob_parvert3(), blender::ed::object::object_apply_rotation(), pseudoinverse_m3_m3(), blender::ed::transform::resize_transform_matrix_fn(), splineik_evaluate_bone(), blender::ed::transform::transform_gizmo_3d_model_from_constraint_and_mode_set(), blender::io::obj::transform_object(), v3d_cursor_snap_draw_fn(), view3d_ob_drop_matrix_from_snap(), where_is_ik_bone(), WIDGETGROUP_tool_generic_refresh(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), and wm_xr_fly_compute_turn().
| void copy_m4_m4 | ( | float | m1[4][4], |
| const float | m2[4][4] ) |
Definition at line 79 of file math_matrix_c.cc.
Referenced by actcon_evaluate(), actcon_get_tarmat(), TransformWriter::add_joint_transform(), add_weighted_dq_dq(), annotation_paint_initstroke(), annotation_session_initdata(), AnimationImporter::apply_matrix_curves(), blender::ed::object::apply_objects_internal(), arrayModifier_doArray(), blender::ed::object::bake(), base_callback(), bc_add_global_transform(), bc_bone_matrix_local_get(), bc_create_restpose_mat(), BKE_bone_parent_transform_calc_from_matrices(), BKE_camera_multiview_window_matrix(), BKE_constraint_mat_convertspace(), BKE_constraint_target_matrix_get(), BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_constraints_solve(), BKE_grease_pencil_copy_layer_parameters(), BKE_lattice_deform_data_create(), BKE_lattice_resize(), BKE_mesh_remap_find_best_match_from_mesh(), BKE_object_apply_parent_inverse(), BKE_object_eval_parent(), BKE_object_get_parent_matrix(), BKE_object_matrix_local_get(), BKE_object_sync_to_original(), BKE_object_tfm_backup(), BKE_object_tfm_restore(), BKE_pchan_bbone_spline_params_get(), BKE_pchan_minmax(), BKE_pose_copy_pchan_result(), BKE_pose_eval_bone(), BKE_pose_where_is(), BKE_scene_base_iter_next(), BKE_tracking_camera_get_reconstructed_interpolate(), BKE_tracking_get_projection_matrix(), BKE_uvproject_camera_info(), BMO_slot_mat4_get(), BMO_slot_mat_set(), box_clip_bounds_m4(), brush_add(), bundle_midpoint(), blender::ed::sculpt_paint::filter::cache_init(), blender::ed::sculpt_paint::calc_brush_local_mat(), blender::ed::transform::calc_gizmo_stats(), AnimationImporter::calc_joint_parent_mat_rest(), camera_model_matrix(), camera_stereo3d_model_matrix(), camerasolver_evaluate(), childof_evaluate(), clampto_evaluate(), constraint_target_to_mat4(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), convert_pose(), convert_tree(), copy_bone_transform(), blender::io::alembic::create_transform_matrix(), blender::ed::transform::createTransSculpt(), damptrack_do_transform(), blender::ed::object::data_xform_container_item_ensure(), deformVerts_do(), displaceModifier_do(), dist_squared_to_projected_aabb_precalc(), blender::io::usd::USDTransformWriter::do_write(), draw_axes(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_custom_shape(), draw_bone_update_disp_matrix_default(), blender::ed::transform::drawPropCircle(), blender::ed::transform::drawSnapping(), DRW_hair_duplimat_get(), dvar_eval_locDiff(), dvar_eval_transChan(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), dynamicPaint_generateBakeData(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_invoke(), ED_curve_add_nurbs_primitive(), ED_mesh_deform_bind_callback(), ED_view3d_cameracontrol_update(), ED_view3d_draw_offscreen_imbuf(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_mats_rv3d_backup(), ED_view3d_mats_rv3d_restore(), ED_view3d_update_viewmat(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), followpath_evaluate(), followpath_get_tarmat(), followtrack_evaluate_using_2d_position(), followtrack_evaluate_using_3d_position_camera(), followtrack_evaluate_using_3d_position_object(), SkinInfo::get_joint_inv_bind_matrix(), TransformReader::get_node_mat(), gizmo_arrow_matrix_basis_get(), gizmo_cage2d_exit(), gizmo_cage2d_invoke(), gizmo_cage2d_modal(), gizmo_cage3d_exit(), gizmo_cage3d_invoke(), gizmo_cage3d_modal(), blender::ed::transform::gizmo_modal(), gizmo_move_matrix_basis_get(), blender::ed::transform::gizmo_refresh_from_matrix(), GPU_matrix_model_view_get(), GPU_matrix_projection_get(), GPU_matrix_projection_set(), GPU_matrix_push(), GPU_matrix_push_projection(), GPU_matrix_set(), blender::ed::greasepencil::grease_pencil_layer_parent_clear(), blender::ed::greasepencil::grease_pencil_layer_parent_set(), i_multmatrix(), blender::ed::object::ignore_parent_tx(), init_context(), init_meta(), blender::ed::transform::init_TransDataContainers(), invert_m4(), invert_m4_m4_safe(), invert_m4_m4_safe_ortho(), kinematic_get_tarmat(), blender::bke::greasepencil::Layer::Layer(), blender::bke::greasepencil::convert::legacy_gpencil_to_grease_pencil(), blender::bke::greasepencil::convert::legacy_object_modifier_hook(), lineart_create_render_buffer_v3(), lineart_main_get_view_vector(), lineart_main_try_generate_shadow_v3(), SkinInfo::link_armature(), make_dmats(), make_duplis_font(), make_duplis_particle_system(), blender::ed::object::make_object_duplilist_real(), mat4_to_dquat(), matrix_from_obj_pchan(), matrix_invert_safe_internal(), Matrix_resize_4x4(), minmax_evaluate(), modify_mesh(), mul_m4_m3m4(), mul_m4_m4m3(), mul_m4_m4m4(), ob_parbone(), ob_parcurve(), blender::ed::object::object_apply_location(), blender::ed::object::object_warp_verts_exec(), blender::ed::object::object_xform_array_m4(), blender::ed::object::object_xform_skip_child_container_item_ensure(), objectsolver_evaluate(), blender::ed::transform::ObjectToTransData(), pose_channel_flush_to_orig_if_needed(), proj_paint_state_viewport_init(), projmat_from_subregion(), RE_GetCameraWindow(), RE_GetWindowMatrixWithOverscan(), RE_SetCamera(), AnimationImporter::read_node_transform(), reconstruct_retrieve_libmv_tracks(), remap_hair_emitter(), rotlike_evaluate(), BCMatrix::set_transform(), BCMatrix::set_transform(), blender::ed::transform::setTransformViewMatrices(), shrinkwrap_evaluate(), shrinkwrap_get_tarmat(), single_axis_convert(), SkinInfo::SkinInfo(), blender::ed::transform::snap_object_project_ray_ex(), blender::ed::transform::snap_object_project_view3d_ex(), spin_exec(), svd_m4(), target_callback(), translike_evaluate(), blender::ed::sculpt_paint::gesture::update_affected_nodes_by_clip_planes(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_rotate_transform_and_target_property(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_scale_transform_and_target_property(), blender::ed::view3d::geometry_nodes_gizmos::DialGizmo::update_transform(), blender::ed::view3d::geometry_nodes_gizmos::LinearGizmo::update_transform(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_translate_transform_and_target_property(), uv_from_view_exec(), uv_map_rotation_matrix_ex(), uvprojectModifier_do(), v3d_cursor_snap_update(), v3d_object_dimension_buts(), view3d_camera_to_view_selected_impl(), blender::ed::object::visual_geometry_to_objects_exec(), blender::animrig::visualkey_get_values(), what_does_obaction(), where_is_ik_bone(), WIDGETGROUP_armature_spline_refresh(), WIDGETGROUP_empty_image_refresh(), WIDGETGROUP_light_area_refresh(), WIDGETGROUP_light_spot_refresh(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), WM_gizmo_calc_matrix_final_params(), wm_xr_fly_compute_turn(), wm_xr_grab_compute(), and WM_xr_session_state_viewer_pose_matrix_info_get().
| void copy_m4_m4_db | ( | double | m1[4][4], |
| const double | m2[4][4] ) |
Definition at line 84 of file math_matrix_c.cc.
Referenced by lineart_main_load_geometries(), lineart_main_try_generate_shadow_v3(), and mul_m4db_m4db_m4fl().
| void copy_m4d_m4 | ( | double | m1[4][4], |
| const float | m2[4][4] ) |
Definition at line 143 of file math_matrix_c.cc.
Referenced by lineart_object_load_single_instance(), and projmat_dimensions_db().
| float determinant_m2 | ( | const float | a, |
| const float | b, | ||
| const float | c, | ||
| const float | d ) |
Definition at line 1837 of file math_matrix_c.cc.
References b.
Referenced by determinant_m3(), invert_m2_m2(), matrix_determinant_internal(), and matrix_invert_safe_internal().
| float determinant_m3 | ( | float | a1, |
| float | a2, | ||
| float | a3, | ||
| float | b1, | ||
| float | b2, | ||
| float | b3, | ||
| float | c1, | ||
| float | c2, | ||
| float | c3 ) |
Definition at line 1842 of file math_matrix_c.cc.
References determinant_m2().
Referenced by adjoint_m4_m4(), determinant_m4(), isect_plane_plane_plane_v3(), locktrack_evaluate(), and matrix_determinant_internal().
| float determinant_m3_array | ( | const float | m[3][3] | ) |
Definition at line 989 of file math_matrix_c.cc.
Referenced by invert_m3_m3(), is_negative_m3(), mat3_normalized_to_quat_with_checks(), matrix_invert_safe_internal(), TEST(), vcloud_estimate_transform_v3(), volume_tetrahedron_signed_v3(), and volume_tetrahedron_v3().
| float determinant_m4 | ( | const float | m[4][4] | ) |
Definition at line 1853 of file math_matrix_c.cc.
References determinant_m3().
Referenced by mat4_to_dquat(), matrix_determinant_internal(), and matrix_invert_safe_internal().
| float determinant_m4_mat3_array | ( | const float | m[4][4] | ) |
Definition at line 996 of file math_matrix_c.cc.
Referenced by is_negative_m4(), and mat4_to_volume_scale().
| bool equals_m3m3 | ( | const float | mat1[3][3], |
| const float | mat2[3][3] ) |
Definition at line 2264 of file math_matrix_c.cc.
References equals_v3v3().
Referenced by gizmo_mesh_spin_init_draw_prepare(), blender::ed::transform::WIDGETGROUP_gizmo_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_draw_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_draw_prepare().
| bool equals_m4m4 | ( | const float | mat1[4][4], |
| const float | mat2[4][4] ) |
Definition at line 2270 of file math_matrix_c.cc.
References equals_v4v4().
Referenced by blf_batch_draw_begin(), dynamicPaint_surfaceHasMoved(), object_apply_mat4_with_protect(), blender::ed::object::object_xform_array_m4(), blender::eevee::ShadowTileMap::sync_cubeface(), and blender::eevee::ShadowTileMap::sync_orthographic().
| bool has_zero_axis_m4 | ( | const float | matrix[4][4] | ) |
Definition at line 2847 of file math_matrix_c.cc.
References len_squared_v3().
Referenced by object_has_zero_axis_matrix().
| void interp_m3_m3m3 | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[3][3], | ||
| float | t ) |
A polar-decomposition-based interpolation between matrix A and matrix B.
Based on "Matrix Animation and Polar Decomposition", by Ken Shoemake & Tom Duff
| R | Resulting interpolated matrix. |
| A | Input matrix which is totally effective with t = 0.0. |
| B | Input matrix which is totally effective with t = 1.0. |
| t | Interpolation factor. |
Definition at line 2181 of file math_matrix_c.cc.
References A, B, i, interp_qt_qtqt(), interp_v3_v3v3(), is_negative_m3(), mat3_polar_decompose(), mat3_to_quat(), mul_m3_fl(), mul_m3_m3m3(), P, quat_to_mat3(), R, and U.
Referenced by blender::ed::transform::ElementRotation_ex(), interp_m4_m4m4(), Matrix_lerp(), and TEST().
| void interp_m4_m4m4 | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4], | ||
| float | t ) |
Complete transform matrix interpolation, based on polar-decomposition-based interpolation from interp_m3_m3m3.
| R | Resulting interpolated matrix. |
| A | Input matrix which is totally effective with t = 0.0. |
| B | Input matrix which is totally effective with t = 1.0. |
| t | Interpolation factor. |
Definition at line 2226 of file math_matrix_c.cc.
References A, B, copy_m3_m4(), copy_m4_m3(), copy_v3_v3(), interp_m3_m3m3(), interp_v3_v3v3(), and R.
Referenced by BKE_constraints_solve(), blender::io::alembic::blend_matrices(), constraint_target_to_mat4(), Matrix_lerp(), and TEST().
| bool invert_m2_m2 | ( | float | inverse[2][2], |
| const float | mat[2][2] ) |
Definition at line 1003 of file math_matrix_c.cc.
References adjoint_m2_m2(), determinant_m2(), and inverse.
Referenced by blender::geometry::uv_parametrizer_average(), and uvedit_pack_islands_multi().
| bool invert_m3 | ( | float | mat[3][3] | ) |
Definition at line 1019 of file math_matrix_c.cc.
References copy_m3_m3(), and invert_m3_m3().
Referenced by armature_calc_roll_exec(), armature_transform_recurse(), BLI_newton3d_solve(), bm_vert_pair_to_matrix(), BMD_mesh_intersection(), blender::ed::transform::calc_gizmo_stats(), blender::ed::transform::createSpaceNormalTangent_or_fallback(), blender::ed::transform::createTransSculpt(), edbm_extrude_repeat_exec(), EDBM_unified_findnearest_from_raycast(), blender::ed::transform::gizmo_3d_draw_invoke(), gizmo_axis_draw(), gizmo_cage2d_modal(), GPU_matrix_normal_get(), GPU_matrix_normal_inverse_get(), MOD_solidify_nonmanifold_modifyMesh(), move3d_get_translate(), multires_disp_run_cb(), multiresModifier_prepare_join(), blender::ed::object::new_primitive_matrix(), set_axis(), setup_vertex_point(), blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_euler(), and blender::ed::transform::transform_convert_mesh_islands_calc().
| bool invert_m3_m3 | ( | float | inverse[3][3], |
| const float | mat[3][3] ) |
Definition at line 1028 of file math_matrix_c.cc.
References adjoint_m3_m3(), b, determinant_m3_array(), inverse, and LIKELY.
Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::object::apply_objects_internal(), blender::ed::transform::apply_shear_value(), blender::ed::transform::apply_targetless_ik(), blender::ed::transform::applyAlign(), blender::ed::transform::applyObjectConstraintSize(), armature_bone_primitive_add_exec(), armature_click_extrude_exec(), armature_finalize_restpose(), BKE_crazyspace_api_displacement_to_original(), BKE_mask_point_parent_matrix_get(), BKE_mesh_remap_calc_faces_from_mesh(), calc_bbox(), calc_deltas(), contarget_get_mesh_mat(), convert_tree(), blender::ed::transform::createTransArmatureVerts(), ed_editnurb_spin(), blender::ed::transform::ElementMirror(), execute_posetree(), flush_pixel(), blender::ed::transform::getTransformOrientation_ex(), gizmo_mesh_spin_redo_setup(), blender::ed::transform::init_TransDataContainers(), invert_m3(), invert_m3_m3_safe_ortho(), locktrack_evaluate(), blender::ed::transform::MaskPointToTransData(), mat3_to_quat_legacy(), mat3_vec_to_roll(), blender::ed::object::new_primitive_matrix(), object_grid_element_to_tangent_displacement(), blender::ed::object::object_hook_recenter_exec(), blender::ed::object::object_transform_axis_target_modal(), pseudoinverse_m3_m3(), RE_bake_normal_world_to_tangent(), blender::io::ply::set_world_axes_transform(), similar_edge_select_exec(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), blender::ed::transform::snapsource_confirm(), blender::ed::transform::transform_convert_mesh_crazyspace_transdata_set(), blender::ed::transform::transform_data_ext_rotate(), tri_to_quat_ex(), vcloud_estimate_transform_v3(), and viewrotate_apply().
| void invert_m3_m3_safe_ortho | ( | float | inverse[3][3], |
| const float | mat[3][3] ) |
Definition at line 2899 of file math_matrix_c.cc.
References copy_m3_m3(), inverse, invert_m3_m3(), orthogonalize_m3_zero_axes(), unit_m3(), and UNLIKELY.
Referenced by blender::ed::transform::ObjectToTransData(), blender::ed::transform::transform_orientations_current_set(), and blender::ed::transform::transformViewUpdate().
| bool invert_m4 | ( | float | mat[4][4] | ) |
Definition at line 1054 of file math_matrix_c.cc.
References copy_m4_m4(), and invert_m4_m4().
Referenced by AnimationImporter::apply_matrix_curves(), applyarmature_process_selected_recursive(), bc_bone_matrix_local_get(), BKE_bone_parent_transform_invert(), BKE_camera_multiview_view_matrix(), BKE_object_apply_parent_inverse(), BKE_object_matrix_local_get(), BKE_texture_mapping_init(), BKE_tracking_stabilize_frame(), BKE_uvproject_camera_info(), bundle_midpoint(), camera_frame_fit_data_init(), blender::ed::object::data_xform_container_update_all(), DRW_hair_duplimat_get(), ebone_spline_preview(), ArmatureImporter::get_joint_bind_mat(), BCMatrix::get_matrix(), GPU_matrix_bind(), make_duplis_particle_system(), object_solver_inverted_matrix(), blender::ed::object::object_transform_to_mouse_exec(), blender::ed::object::object_xform_skip_child_container_update_all(), blender::ed::transform::pose_mirror_info_init(), set_axis(), set_plane_exec(), shrinkwrap_get_tarmat(), blender::ed::transform::snapsource_confirm(), warpModifier_do(), wm_xr_fly_compute_turn(), wm_xr_grab_compute(), and wm_xr_grab_compute_bimanual().
| bool invert_m4_m4 | ( | float | inverse[4][4], |
| const float | mat[4][4] ) |
Definition at line 1135 of file math_matrix_c.cc.
References EIG_invert_m4_m4(), inverse, and invert_m4_m4_fallback().
Referenced by action_flip_pchan(), blender::ed::object::add_hook_object(), BCMatrix::add_inverted_transform(), TransformWriter::add_joint_transform(), add_primitive_cube_gizmo_exec(), BCMatrix::add_transform(), add_vertex_exec(), annotation_session_initdata(), AnimationImporter::apply_matrix_curves(), blender::ed::object::apply_objects_internal(), BCMatrix::apply_transform(), applyarmature_fix_boneparents(), applyarmature_process_selected_recursive(), armature_bone_primitive_add_exec(), armature_calc_roll_exec(), armature_deform_coords_impl(), armature_fill_bones_exec(), armature_finalize_restpose(), armature_transform_recurse(), armdef_accumulate_bone(), arrayModifier_doArray(), blender::ed::object::bake(), base_callback(), bc_bone_matrix_local_get(), bc_rotate_from_reference_quat(), BKE_armature_mat_pose_to_delta(), BKE_armature_mat_world_to_pose(), BKE_constraint_mat_convertspace(), BKE_constraints_clear_evalob(), BKE_gpencil_layer_addnew(), BKE_lattice_deform_data_create(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_object_apply_mat4_ex(), BKE_object_apply_parent_inverse(), BKE_object_modifier_gpencil_hook_reset(), BKE_object_modifier_hook_reset(), BKE_pchan_bbone_segments_cache_compute(), BKE_pchan_bbone_spline_compute(), BKE_pchan_bbone_spline_params_get(), BKE_pose_bone_done(), BKE_pose_eval_init(), BKE_pose_where_is(), BKE_tracking_get_projection_matrix(), BLI_space_transform_from_matrices(), BLI_space_transform_global_from_matrices(), blo_do_versions_290(), BM_mesh_calc_uvs_circle(), BM_mesh_calc_uvs_cone(), BMBVH_EdgeVisible(), BMD_mesh_intersection(), bmo_transform_exec(), brush_add(), blender::ed::sculpt_paint::brush_delta_update(), brush_edit_apply(), brush_puff(), blender::ed::sculpt_paint::filter::cache_init(), blender::ed::sculpt_paint::calc_brush_local_mat(), blender::ed::transform::calc_gizmo_stats(), calc_local_clipping(), childof_evaluate(), clip_draw_main(), cloth_to_object(), convert_pose(), convert_tree(), blender::io::alembic::create_transform_matrix(), blender::ed::transform::createTransParticleVerts(), cuboid_do(), blender::ed::curves::curve_draw_event_add(), curve_draw_event_add(), curve_draw_exec(), blender::ed::curves::curves_draw_exec(), blender::ed::object::data_xform_container_update_all(), deflect_emitter_iter(), deformVerts_do(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::transform::drawPropCircle(), ED_armature_join_objects_exec(), ED_armature_origin_set(), ED_clip_point_stable_pos(), ED_view3d_camera_lock_sync(), ED_view3d_cameracontrol_update(), ED_view3d_clipping_calc(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_update_viewmat(), edbm_dupli_extrude_cursor_invoke(), edbm_extrude_edge_exclude_mirror(), edbm_polybuild_delete_at_cursor_invoke(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), edbm_polybuild_transform_at_cursor_invoke(), execute_posetree(), explodeMesh(), blender::ed::transform::flushTransParticles(), followtrack_evaluate_using_3d_position_object(), followtrack_project_to_depth_object_if_needed(), foreach_mouse_hit_key_iter(), generate_vert_coordinates(), get_quick_mesh(), blender::ed::transform::gizmo_3d_foreach_selected(), gizmo_cage2d_modal(), gizmo_move_modal(), gizmo_window_project_2d(), gizmo_window_project_3d(), blender::ed::object::ignore_parent_tx(), init_curve_deform(), init_meta(), Freestyle::BlenderFileLoader::insertShapeNode(), invert_m4(), invert_m4_m4_safe(), invert_m4_m4_safe_ortho(), lineart_main_get_view_vector(), lineart_main_load_geometries(), lineart_main_try_generate_shadow_v3(), lineart_object_load_single_instance(), SkinInfo::link_armature(), make_child_duplis_faces_from_editmesh(), make_child_duplis_faces_from_mesh(), make_child_duplis_verts_from_editmesh(), make_child_duplis_verts_from_mesh(), make_dmats(), make_duplis_particle_system(), mat4_to_dquat(), merge_target(), mesh_bisect_exec(), meshdeformModifier_do(), minmax_evaluate(), MOD_get_texture_coords(), modify_mesh(), modify_mesh(), modify_mesh(), normalEditModifier_do_directional(), object_apply_mat4_with_protect(), blender::ed::object::object_join_exec(), blender::ed::object::object_origin_set_exec(), blender::ed::object::object_warp_transverts(), blender::ed::object::object_xform_skip_child_container_item_ensure(), blender::ed::object::object_xform_skip_child_container_update_all(), objectsolver_evaluate(), obmat_to_viewmat(), blender::ed::object::parent_set_with_depsgraph(), particle_system_minmax(), particle_system_update(), PE_mirror_particle(), pointdensity_cache_psys(), proj_paint_state_viewport_init(), psys_apply_hair_lattice(), RE_bake_normal_world_to_object(), RE_bake_pixels_populate_from_objects(), reconstruct_retrieve_libmv_tracks(), remap_hair_emitter(), BCQuat::rotate_to(), save_hair(), SCULPT_cube_tip_init(), set_axis(), similar_face_select_exec(), similar_vert_select_exec(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), snap_to_pipe_profile(), softbody_to_object(), sort_bmelem_flag(), sphere_do(), spin_exec(), stabilization_data_to_mat4(), surfacedeformBind(), surfacedeformModifier_do(), blender::ed::transform::transform_convert_clip_mirror_modifier_apply(), blender::ed::sculpt_paint::transform_matrices_init(), blender::ed::sculpt_paint::vwpaint::update_cache_invariants(), update_duplicate_action_constraint_settings(), update_duplicate_loc_rot_constraint_settings(), update_duplicate_transform_constraint_settings(), update_location_for_2d_curve(), uv_map_transform_center(), uvprojectModifier_do(), v3d_editvertex_buts(), blender::ed::object::vertex_parent_set_exec(), vfont_to_curve(), view3d_viewmatrix_set(), blender::ed::object::voxel_size_edit_invoke(), warpModifier_do(), and waveModifier_do().
| bool invert_m4_m4_fallback | ( | 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.
Definition at line 1063 of file math_matrix_c.cc.
References BLI_assert, EIG_invert_m4_m4(), fabsf, i, inverse, max, SWAP, and UNLIKELY.
Referenced by blender::ed::transform::init_TransDataContainers(), and invert_m4_m4().
| void invert_m4_m4_safe | ( | float | inverse[4][4], |
| const float | mat[4][4] ) |
Definition at line 2853 of file math_matrix_c.cc.
References copy_m4_m4(), inverse, invert_m4_m4(), and unit_m4().
Referenced by BKE_constraint_mat_convertspace(), and BKE_object_eval_transform_final().
| void invert_m4_m4_safe_ortho | ( | float | inverse[4][4], |
| const float | mat[4][4] ) |
A safe version of invert that uses valid axes, calculating the zeroed axis based on the non-zero ones.
This works well for transformation matrices, when a single axis is zeroed.
Definition at line 2888 of file math_matrix_c.cc.
References copy_m4_m4(), inverse, invert_m4_m4(), orthogonalize_m4_zero_axes(), unit_m4(), and UNLIKELY.
Referenced by ED_armature_join_objects_exec(), ED_curve_join_objects_exec(), and ED_mesh_join_objects_exec().
| bool is_negative_m3 | ( | const float | mat[3][3] | ) |
Return true when the matrices determinant is less than zero.
When the matrix is constructed from location, rotation & scale as matrix will be negative when it has an odd number of negative scales.
Definition at line 2247 of file math_matrix_c.cc.
References determinant_m3_array().
Referenced by axis_dominant_v3_to_m3(), axis_dominant_v3_to_m3_negate(), calc_initial_placement_point_from_view(), interp_m3_m3m3(), mat3_normalized_to_quat_fast(), mat3_to_rot_size(), and Matrix_is_negative_get().
| bool is_negative_m4 | ( | const float | mat[4][4] | ) |
A version of is_negative_m3 that takes a 4x4 matrix.
Definition at line 2252 of file math_matrix_c.cc.
References determinant_m4_mat3_array().
Referenced by blender::ed::object::bake(), BKE_object_eval_transform_final(), BMD_mesh_bm_create(), calc_local_clipping(), ED_view3d_clipping_calc(), blender::io::stl::export_frame(), gizmo_placement_prop_matrix_set(), Matrix_is_negative_get(), blender::ed::sculpt_paint::object_sculpt_mode_enter(), object_where_is_calc_ex(), blender::draw::View::sync(), transform_evaluate(), uiTemplateInputStatus3DView(), and unwrap_exec().
| bool is_orthogonal_m3 | ( | const float | m[3][3] | ) |
Definition at line 1611 of file math_matrix_c.cc.
References dot_v3v3(), fabsf, and i.
Referenced by is_orthonormal_m3(), and Matrix_is_orthogonal_axis_vectors_get().
| bool is_orthogonal_m4 | ( | const float | m[4][4] | ) |
Definition at line 1626 of file math_matrix_c.cc.
References dot_v4v4(), fabsf, and i.
Referenced by is_orthonormal_m4(), and Matrix_is_orthogonal_axis_vectors_get().
| bool is_orthonormal_m3 | ( | const float | m[3][3] | ) |
Definition at line 1641 of file math_matrix_c.cc.
References dot_v3v3(), fabsf, i, and is_orthogonal_m3().
Referenced by mat4_to_dquat(), and Matrix_is_orthogonal_get().
| bool is_orthonormal_m4 | ( | const float | m[4][4] | ) |
Definition at line 1658 of file math_matrix_c.cc.
References dot_v4v4(), fabsf, i, and is_orthogonal_m4().
Referenced by Matrix_is_orthogonal_get().
| bool is_uniform_scaled_m3 | ( | const float | m[3][3] | ) |
Definition at line 1675 of file math_matrix_c.cc.
References eps, fabsf, len_squared_v3(), and transpose_m3_m3().
Referenced by is_uniform_scaled_m4(), and multires_apply_smat().
| bool is_uniform_scaled_m4 | ( | const float | m[4][4] | ) |
Definition at line 1700 of file math_matrix_c.cc.
References copy_m3_m4(), and is_uniform_scaled_m3().
Referenced by BKE_curve_transform_ex().
| bool is_zero_m4 | ( | const float | mat[4][4] | ) |
Definition at line 2259 of file math_matrix_c.cc.
References is_zero_v4().
Referenced by bmo_transform_exec(), and blender::ed::sculpt_paint::color::do_paint_brush().
| void loc_eul_size_to_mat4 | ( | float | R[4][4], |
| const float | loc[3], | ||
| const float | eul[3], | ||
| const float | size[3] ) |
Make a 4x4 matrix out of 3 transform components. Matrices are made in the order: scale * rot * loc
TODO: need to have a version that allows for rotation order.
Definition at line 2286 of file math_matrix_c.cc.
References copy_m4_m3(), eul_to_mat3(), mul_m3_m3m3(), R, size(), size_to_mat3(), and unit_m4().
Referenced by BKE_gpencil_layer_addnew(), blo_do_versions_290(), blender::ed::object::collection_drop_exec(), and greasepencil_copy_data().
| void loc_eulO_size_to_mat4 | ( | float | R[4][4], |
| const float | loc[3], | ||
| const float | eul[3], | ||
| const float | size[3], | ||
| short | order ) |
Make a 4x4 matrix out of 3 transform components. Matrices are made in the order: scale * rot * loc
Definition at line 2310 of file math_matrix_c.cc.
References copy_m4_m3(), eulO_to_mat3(), mul_m3_m3m3(), R, size(), size_to_mat3(), and unit_m4().
Referenced by bc_create_restpose_mat(), childof_evaluate(), and rotlimit_evaluate().
| void loc_quat_size_to_mat4 | ( | float | R[4][4], |
| const float | loc[3], | ||
| const float | quat[4], | ||
| const float | size[3] ) |
Make a 4x4 matrix out of 3 transform components. Matrices are made in the order: scale * rot * loc
Definition at line 2332 of file math_matrix_c.cc.
References copy_m4_m3(), mul_m3_m3m3(), quat_to_mat3(), R, size(), size_to_mat3(), and unit_m4().
Referenced by blend_m4_m4m4(), get_dupliface_transform_from_coords(), and get_duplivert_transform().
| void loc_rot_size_to_mat4 | ( | float | R[4][4], |
| const float | loc[3], | ||
| const float | rot[3][3], | ||
| const float | size[3] ) |
Make a 4x4 matrix out of 3 transform components. Matrices are made in the order: scale * rot * loc
Definition at line 2276 of file math_matrix_c.cc.
References copy_m4_m3(), copy_v3_v3(), R, rescale_m4(), rot, and size().
Referenced by blender::ed::space_node::gizmo_node_box_mask_prop_matrix_get(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), rotlike_evaluate(), and transform_evaluate().
| void madd_m3_m3m3fl | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[3][3], | ||
| const float | f ) |
Definition at line 956 of file math_matrix_c.cc.
Referenced by pchan_deform_accumulate(), and splineik_evaluate_bone().
| void madd_m4_m4m4fl | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4], | ||
| const float | f ) |
Definition at line 967 of file math_matrix_c.cc.
Referenced by armdef_accumulate_matrix().
| void mat3_polar_decompose | ( | const float | mat3[3][3], |
| float | r_U[3][3], | ||
| float | r_P[3][3] ) |
Right polar decomposition: M = UP
U is the rotation-like component, the closest orthogonal matrix to M. P is the scaling-like component, defined in U space.
See https://en.wikipedia.org/wiki/Polar_decomposition for more.
Definition at line 2026 of file math_matrix_c.cc.
References BLI_svd_m3(), mul_m3_m3m3(), mul_m3_series, size_to_mat3(), transpose_m3_m3(), V, and W.
Referenced by interp_m3_m3m3().
| void mat3_to_rot_size | ( | float | rot[3][3], |
| float | size[3], | ||
| const float | mat3[3][3] ) |
| rot | A 3x3 rotation matrix, normalized never negative. |
| size | The scale, negative if mat3 is negative. |
Definition at line 1974 of file math_matrix_c.cc.
References is_negative_m3(), negate_m3(), negate_v3(), normalize_v3_v3(), rot, size(), and UNLIKELY.
Referenced by blend_m3_m3m3(), mat4_to_loc_rot_size(), Matrix_to_scale(), and blender::ed::transform::TransMat3ToSize().
| float mat3_to_scale | ( | const float | mat[3][3] | ) |
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.
Definition at line 1956 of file math_matrix_c.cc.
References copy_v3_fl(), len_v3(), M_SQRT1_3, and mul_m3_v3().
Referenced by blender::ed::object::apply_objects_internal(), Matrix_median_scale_get(), and multires_apply_smat().
| void mat3_to_size | ( | float | size[3], |
| const float | M[3][3] ) |
Definition at line 1921 of file math_matrix_c.cc.
References len_v3(), M, and size().
Referenced by blender::ed::transform::apply_targetless_ik(), blender::ed::transform::ElementBoneSize(), blender::ed::transform::ElementResize(), orthogonalize_m3(), blender::ed::transform::transdata_elem_skin_resize(), and where_is_ik_bone().
| void mat4_decompose | ( | float | loc[3], |
| float | quat[4], | ||
| float | size[3], | ||
| const float | wmat[4][4] ) |
Definition at line 2009 of file math_matrix_c.cc.
References mat3_normalized_to_quat_fast(), mat4_to_loc_rot_size(), rot, and size().
Referenced by AnimationImporter::apply_matrix_curves(), BCMatrix::set_transform(), BCMatrix::set_transform(), and blender::io::usd::USDTransformWriter::set_xform_ops().
| void mat4_to_loc_quat | ( | float | loc[3], |
| float | quat[4], | ||
| const float | wmat[4][4] ) |
Definition at line 1997 of file math_matrix_c.cc.
References copy_m3_m4(), copy_v3_v3(), mat3_normalized_to_quat(), and normalize_m3_m3().
Referenced by wm_xr_session_actions_update(), wm_xr_session_base_pose_calc(), wm_xr_session_controller_pose_calc(), and wm_xr_session_state_update().
| void mat4_to_loc_rot_size | ( | float | loc[3], |
| float | rot[3][3], | ||
| float | size[3], | ||
| const float | wmat[4][4] ) |
| rot | A 3x3 rotation matrix, normalized never negative. |
| size | The scale, negative if mat3 is negative. |
Definition at line 1986 of file math_matrix_c.cc.
References copy_m3_m4(), copy_v3_v3(), mat3_to_rot_size(), rot, and size().
Referenced by BKE_object_apply_mat4_ex(), BKE_pchan_apply_mat4(), blend_m4_m4m4(), blender::io::alembic::copy_m44_axis_swap(), gizmo_cage2d_modal(), blender::ed::space_node::gizmo_node_box_mask_prop_matrix_get(), blender::ed::space_node::gizmo_node_box_mask_prop_matrix_set(), blender::ed::space_node::gizmo_node_split_prop_matrix_get(), mat4_decompose(), Matrix_decompose(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), object_preview_camera_create(), blender::ed::transform::ObjectToTransData(), rotlike_evaluate(), and transform_evaluate().
| float mat4_to_scale | ( | const float | mat[4][4] | ) |
Definition at line 1965 of file math_matrix_c.cc.
References copy_v3_fl(), len_v3(), M_SQRT1_3, and mul_mat3_m4_v3().
Referenced by blender::ed::greasepencil::add_armature_envelope_weights(), add_verts_to_dgroups(), blender::ed::object::apply_objects_internal(), arrayModifier_doArray(), BKE_armature_transform(), BKE_curve_transform(), BKE_grease_pencil_point_coords_apply_with_mat4(), BKE_mball_minmax_ex(), BKE_mball_transform(), BKE_shrinkwrap_project_normal(), button2d_draw_intern(), blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_brush_detail(), blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_detail_size(), blender::ed::sculpt_paint::dyntopo::detail_size::constant_to_relative_detail(), blender::ed::object::copy_transformed_radii(), drw_shgroup_bone_envelope(), drw_shgroup_bone_envelope_distance(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_sample_from_surface(), ED_armature_edit_transform(), ED_curve_join_objects_exec(), edbm_bevel_init(), edbm_inset_init(), gizmo_arrow_test_select(), gizmo_button2d_bounds(), paint_calc_object_space_radius(), blender::ed::sculpt_paint::dyntopo::sample_detail_dyntopo(), blender::ed::sculpt_paint::dyntopo::sculpt_detail_flood_fill_exec(), and blender::draw::statvis_calc_thickness().
| void mat4_to_size | ( | float | size[3], |
| const float | M[4][4] ) |
Definition at line 1928 of file math_matrix_c.cc.
References len_v3(), M, and size().
Referenced by actcon_get_tarmat(), arrayModifier_doArray(), bc_decompose(), BKE_bone_parent_transform_calc_from_matrices(), BKE_pchan_bbone_spline_params_get(), camera_stereo3d_model_matrix(), childof_evaluate(), blender::ed::transform::constraintScaleLim(), followpath_evaluate(), make_duplis_particle_system(), mat4_to_dquat(), mat4_to_size_fix_shear(), orthogonalize_m4(), rotlimit_evaluate(), samevolume_evaluate(), sizelike_evaluate(), sizelimit_evaluate(), trackto_evaluate(), transform_evaluate(), unwrap_exec(), view3d_ob_drop_matrix_from_snap(), blender::animrig::visualkey_get_values(), blender::ed::object::voxel_size_edit_invoke(), and where_is_ik_bone().
| void mat4_to_size_fix_shear | ( | float | size[3], |
| const float | M[4][4] ) |
Extract scale factors from the matrix, with correction to ensure exact volume in case of a sheared matrix.
Definition at line 1940 of file math_matrix_c.cc.
References fabsf, M, mat4_to_size(), mat4_to_volume_scale(), mul_v3_fl(), and size().
Referenced by BKE_bone_parent_transform_calc_from_matrices().
| float mat4_to_size_max_axis | ( | const float | M[4][4] | ) |
Return the largest scale on any axis, the equivalent of calling:
.. without 2x unnecessary sqrtf calls. Only the first 3 axes are used.
Definition at line 1935 of file math_matrix_c.cc.
References len_squared_v3(), M, max_fff(), and sqrtf.
| float mat4_to_volume_scale | ( | const float | mat[4][4] | ) |
This computes the overall volume scale factor of a transformation matrix. 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.
Definition at line 1951 of file math_matrix_c.cc.
References determinant_m4_mat3_array().
Referenced by BKE_bone_parent_transform_calc_from_matrices(), dvar_eval_transChan(), mat4_to_size_fix_shear(), and sizelike_evaluate().
| void mul_m2_v2 | ( | const float | mat[2][2], |
| float | vec[2] ) |
Definition at line 718 of file math_matrix_c.cc.
References mul_v2_m2v2().
Referenced by compensate_rotation_center(), blender::geometry::p_chart_uv_transform(), blender::geometry::PackIsland::place_(), blender::geometry::rotate_inside_square(), rotation_contribution(), and Vector_rotate().
| void mul_m3_fl | ( | float | R[3][3], |
| float | f ) |
Definition at line 868 of file math_matrix_c.cc.
Referenced by armature_vert_task_with_dvert(), dfdv_damp(), dfdx_spring(), interp_m3_m3m3(), mul_v3m3_dq(), SIM_hair_volume_vertex_grid_forces(), SIM_mass_spring_force_drag(), SIM_mass_spring_force_reference_frame(), SIM_mass_spring_force_spring_bending(), SIM_mass_spring_force_spring_linear(), SIM_mass_spring_set_vertex_mass(), spring_grad_dir(), spring_hairbend_estimate_dfdv(), spring_hairbend_estimate_dfdx(), and vcloud_estimate_transform_v3().
| void mul_m3_m3_post | ( | float | R[3][3], |
| const float | B[3][3] ) |
Definition at line 305 of file math_matrix_c.cc.
References B, mul_m3_m3m3(), and R.
Referenced by object_preview_camera_create().
| void mul_m3_m3_pre | ( | float | R[3][3], |
| const float | A[3][3] ) |
Special matrix multiplies
Definition at line 300 of file math_matrix_c.cc.
References A, mul_m3_m3m3(), and R.
Referenced by blender::ed::transform::calc_gizmo_stats(), and blender::ed::transform::handle_armature_parent_orientation().
| void mul_m3_m3m3 | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[3][3] ) |
Definition at line 310 of file math_matrix_c.cc.
References A, B, copy_m3_m3(), ELEM, mul_m3_m3m3(), R, and T.
Referenced by _va_mul_m3_series_3(), _va_mul_m3_series_4(), _va_mul_m3_series_5(), _va_mul_m3_series_6(), _va_mul_m3_series_7(), _va_mul_m3_series_8(), _va_mul_m3_series_9(), blender::ed::transform::add_pose_transdata(), blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_auto_pivot(), blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_fixed_pivot(), blender::ed::object::apply_objects_internal(), blender::ed::transform::apply_targetless_ik(), blender::ed::transform::applyAlign(), blender::ed::transform::applyAxisConstraintSize(), blender::ed::transform::applyObjectConstraintRot(), blender::ed::transform::applyObjectConstraintSize(), armature_bone_primitive_add_exec(), armature_finalize_restpose(), armature_transform_recurse(), BKE_bone_parent_transform_calc_from_matrices(), BKE_crazyspace_build_sculpt(), BKE_curve_deform_co(), BKE_object_rot_to_mat3(), BKE_object_to_mat3(), BKE_pchan_to_mat4(), blend_m3_m3m3(), cloth_parallel_transport_hair_frame(), blender::io::alembic::copy_m44_axis_swap(), blender::ed::transform::createTransArmatureVerts(), blender::ed::transform::drawObjectConstraint(), ED_armature_edit_transform(), ed_editnurb_spin(), blender::ed::transform::ElementBoneSize(), blender::ed::transform::ElementMirror(), blender::ed::transform::ElementResize(), blender::ed::transform::ElementRotation_ex(), Euler_rotate(), execute_posetree(), blender::nodes::node_fn_rotate_euler_cc::get_multi_function(), blender::ed::transform::gimbal_axis_object(), blender::ed::transform::gimbal_axis_pose(), gizmo_axis_draw(), gizmo_mesh_spin_redo_update_orient_axis(), interp_m3_m3m3(), legacy_vec_roll_to_mat3_normalized(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), locktrack_evaluate(), mat3_polar_decompose(), mat3_vec_to_roll(), Matrix_rotate(), meshcache_do(), mul_m3_m3_post(), mul_m3_m3_pre(), mul_m3_m3m3(), mul_m4_m4m4_aligned_scale(), mul_m4_m4m4_split_channels(), mul_v3m3_dq(), multiresModifier_prepare_join(), blender::ed::object::new_primitive_matrix(), blender::ed::object::object_orient_to_location(), blender::ed::object::object_transform_axis_target_modal(), blender::ed::transform::ObjectToTransData(), blender::ed::transform::projection_matrix_calc(), Quaternion_rotate(), root_to_world_m3(), rotate_eul(), rotate_eulO(), rotlike_evaluate(), snap_selected_to_location_rotation(), splineik_evaluate_bone(), blender::ed::transform::transdata_elem_skin_resize(), blender::ed::transform::transform_convert_mesh_crazyspace_transdata_set(), blender::ed::transform::transform_data_ext_rotate(), transform_evaluate(), vcloud_estimate_transform_v3(), vec_roll_to_mat3_normalized(), vfont_to_curve(), and world_to_root_m3().
| void mul_m3_m3m4 | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[4][4] ) |
R = A * B, ignore the elements on the 4th row/column of A.
Definition at line 357 of file math_matrix_c.cc.
References A, B, copy_m3_m3(), mul_m3_m3m4(), R, and T.
Referenced by mul_m3_m3m4().
| void mul_m3_m4m3 | ( | float | R[3][3], |
| const float | A[4][4], | ||
| const float | B[3][3] ) |
R = A * B, ignore the elements on the 4th row/column of B.
Definition at line 381 of file math_matrix_c.cc.
References A, B, copy_m3_m3(), mul_m3_m4m3(), R, and T.
Referenced by mul_m3_m4m3(), and blender::ed::transform::transform_orientation_matrix_get().
| void mul_m3_m4m4 | ( | float | R[3][3], |
| const float | A[4][4], | ||
| const float | B[4][4] ) |
Definition at line 431 of file math_matrix_c.cc.
Referenced by blender::ed::transform::gizmo_3d_draw_invoke(), snap_selected_to_location_rotation(), and splineik_evaluate_bone().
| void mul_m3_v2 | ( | const float | m[3][3], |
| float | r[2] ) |
Definition at line 657 of file math_matrix_c.cc.
References mul_v2_m3v2().
Referenced by blender::ed::transform::flushTransMasking(), gizmo_cage2d_modal(), mask_evaluate_apply_point_parent(), and setup_vertex_point().
| void mul_m3_v3 | ( | const float | M[3][3], |
| float | r[3] ) |
Definition at line 838 of file math_matrix_c.cc.
References M, and mul_v3_m3v3().
Referenced by blender::ed::object::apply_objects_internal(), blender::ed::transform::applyFaceNearest(), blender::ed::transform::applyFaceProject(), blender::ed::transform::applyObjectConstraintVec(), armature_calc_roll_exec(), armature_click_extrude_exec(), BKE_mesh_remap_calc_faces_from_mesh(), blender::ed::transform::bmesh_test_dist_add(), bmo_spin_exec(), blender::ed::sculpt_paint::filter::cache_init(), calc_bbox(), blender::ed::transform::calc_distanceCurveVerts(), calc_overlap(), blender::geometry::calc_position_with_interpolation(), blender::bke::pbvh::clip_ray_ortho(), blender::ed::transform::constraintTransLim(), contarget_get_mesh_mat(), convert_tree(), do_kink_spiral(), do_kink_spiral_deform(), ED_view3d_minmax_verts(), blender::ed::transform::ElementMirror(), blender::ed::transform::ElementResize(), blender::ed::transform::ElementRotation_ex(), execute_posetree(), filter(), flyApply(), blender::ed::transform::getTransformOrientation_ex(), gizmo_axis_draw(), gizmo_bisect_prop_angle_set(), gizmo_mesh_spin_redo_setup(), gizmo_spin_prop_axis_angle_set(), IMB_colormanagement_srgb_to_scene_linear_v3(), initFlyInfo(), blender::io::ply::load_plydata(), mat3_to_quat_legacy(), mat3_to_scale(), mball_select_similar_type(), mball_select_similar_type_get(), meshcache_do(), meshdeform_vert_task(), move3d_get_translate(), mul_v3m3_dq(), blender::ed::object::new_primitive_matrix(), nurb_bezt_direction_worldspace_get(), nurb_bpoint_direction_worldspace_get(), blender::ed::object::object_hook_recenter_exec(), blender::ed::object::object_origin_clear_exec(), blender::ed::object::object_transform_axis_target_modal(), blender::geometry::p_chart_correct_degenerate_triangle_point(), blender::geometry::p_chart_correct_degenerate_triangles2(), pivotcon_evaluate(), proj_paint_state_viewport_init(), psys_get_dupli_path_transform(), RE_bake_normal_world_to_tangent(), blender::ed::transform::ResizeBetween(), blender::math::rotate_around_axis(), blender::nodes::node_geo_curve_primitive_arc_cc::rotate_vector_around_axis(), rotateflagNurb(), blender::ed::transform::RotationBetween(), blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_around_axis(), blender::nodes::node_shader_vector_rotate_cc::sh_node_vector_rotate_euler(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), blender::ed::transform::snapsource_confirm(), blender::ed::transform::transdata_elem_bend(), blender::ed::transform::transdata_elem_push_pull(), blender::ed::transform::transdata_elem_shear(), blender::ed::transform::transdata_elem_to_sphere(), blender::ed::transform::transdata_elem_translate(), blender::ed::transform::transform_snap_increment_ex(), tri_to_quat_ex(), blender::ed::sculpt_paint::vwpaint::update_cache_invariants(), uv_cylinder_project(), uv_sphere_project(), Vector_rotate(), blender::ed::object::voxel_size_edit_invoke(), walkApply(), and blender::ed::transform::WIDGETGROUP_xform_cage_refresh().
| void mul_m3_v3_db | ( | const double | M[3][3], |
| double | r[3] ) |
Definition at line 843 of file math_matrix_c.cc.
References M, and mul_v3_m3v3_db().
Referenced by BLI_quadric_optimize().
| void mul_m4_fl | ( | float | R[4][4], |
| float | f ) |
Definition at line 879 of file math_matrix_c.cc.
Referenced by add_weighted_dq_dq(), armdef_evaluate(), and normalize_dq().
| void mul_m4_m3m4 | ( | float | R[4][4], |
| const float | A[3][3], | ||
| const float | B[4][4] ) |
Definition at line 405 of file math_matrix_c.cc.
References A, B, copy_m4_m4(), mul_m4_m3m4(), R, and T.
Referenced by blender::ed::transform::constraintRotLim(), blender::ed::transform::constraintScaleLim(), damptrack_do_transform(), ED_armature_join_objects_exec(), blender::io::stl::export_frame(), face_dupli(), blender::ed::transform::gizmo_3d_draw_invoke(), locktrack_evaluate(), mul_m4_m3m4(), blender::io::ply::set_world_axes_transform(), splineik_evaluate_bone(), and trackto_evaluate().
| void mul_m4_m4_post | ( | float | R[4][4], |
| const float | B[4][4] ) |
Definition at line 295 of file math_matrix_c.cc.
References B, mul_m4_m4m4(), and R.
Referenced by blender::nodes::node_geo_instance_on_points_cc::add_instances_from_component(), blender::ed::object::apply_objects_internal(), BKE_object_apply_parent_inverse(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_invoke(), gizmo_cage2d_modal(), GPU_matrix_mul(), and blender::ed::object::voxel_size_edit_invoke().
| void mul_m4_m4_pre | ( | float | R[4][4], |
| const float | A[4][4] ) |
Definition at line 290 of file math_matrix_c.cc.
References A, mul_m4_m4m4(), and R.
Referenced by make_duplis_geometry_set_impl(), and blender::ed::object::voxel_size_edit_invoke().
| void mul_m4_m4m3 | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[3][3] ) |
Definition at line 331 of file math_matrix_c.cc.
References A, B, copy_m4_m4(), mul_m4_m4m3(), R, and T.
Referenced by applyarmature_adjust_edit_position(), convert_pose(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_custom_shape(), mul_m4_m4m3(), set_axis(), and single_axis_convert().
| void mul_m4_m4m4 | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4] ) |
Definition at line 208 of file math_matrix_c.cc.
References A, A0, A1, A2, B, copy_m4_m4(), ELEM, i, mul_m4_m4m4(), R, sum(), and T.
Referenced by _va_mul_m4_series_3(), _va_mul_m4_series_4(), _va_mul_m4_series_5(), _va_mul_m4_series_6(), _va_mul_m4_series_7(), _va_mul_m4_series_8(), _va_mul_m4_series_9(), ABC_get_transform(), actcon_evaluate(), action_flip_pchan(), BCMatrix::add_inverted_transform(), TransformWriter::add_joint_transform(), add_primitive_cube_gizmo_exec(), BCMatrix::add_transform(), AnimationImporter::apply_matrix_curves(), BCMatrix::apply_transform(), applyarmature_process_selected_recursive(), blender::ed::transform::applyRotationMatrix(), blender::ed::transform::applyTrackballMatrix(), armature_deform_coords_impl(), armdef_accumulate_bone(), armdef_accumulate_matrix(), armdef_evaluate(), armdef_get_tarmat(), arrayModifier_doArray(), base_callback(), bc_bone_matrix_local_get(), bc_match_scale(), bc_rotate_from_reference_quat(), bc_set_parent(), BKE_armature_mat_pose_to_delta(), BKE_armature_mat_world_to_pose(), BKE_armature_where_is_bone(), BKE_bone_parent_transform_apply(), BKE_bone_parent_transform_calc_from_matrices(), BKE_bone_parent_transform_combine(), BKE_camera_object_dof_distance(), BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_constraint_mat_convertspace(), BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_lattice_deform_data_create(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_object_apply_mat4_ex(), BKE_object_apply_parent_inverse(), BKE_object_eval_parent(), BKE_object_get_parent_matrix(), BKE_object_matrix_local_get(), BKE_object_modifier_gpencil_hook_reset(), BKE_object_modifier_hook_reset(), BKE_pchan_bbone_segments_cache_compute(), BKE_pchan_bbone_spline_params_get(), BKE_pose_bone_done(), BKE_pose_where_is(), BKE_texture_mapping_init(), BKE_tracking_get_projection_matrix(), BLI_space_transform_from_matrices(), BLI_space_transform_global_from_matrices(), BMD_mesh_intersection(), bundle_midpoint(), button2d_draw_intern(), blender::ed::sculpt_paint::calc_brush_local_mat(), AnimationImporter::calc_joint_parent_mat_rest(), camera_stereo3d_model_matrix(), camerasolver_evaluate(), clampto_evaluate(), constraint_target_to_mat4(), convert_pose(), convert_tree(), copy_dupli_context(), blender::io::alembic::copy_m44_axis_swap(), DocumentImporter::create_instance_node(), blender::io::alembic::create_transform_matrix(), cuboid_do(), blender::ed::object::data_xform_container_update_all(), deformVerts_do(), blender::io::alembic::ABCTransformWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), dquat_to_mat4(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_bbone(), DRW_hair_duplimat_get(), dvar_eval_transChan(), ebone_spline_preview(), ED_armature_join_objects_exec(), ED_curve_join_objects_exec(), ED_view3d_boundbox_clip_ex(), ED_view3d_camera_lock_sync(), ED_view3d_cameracontrol_update(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_init_mats_rv3d(), ED_view3d_ob_project_mat_get(), ED_view3d_update_viewmat(), edbm_extrude_edge_exclude_mirror(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), face_dupli(), followpath_evaluate(), followpath_get_tarmat(), followtrack_evaluate_using_2d_position(), followtrack_evaluate_using_3d_position_camera(), AnimationImporter::get_joint_rest_mat(), TransformReader::get_node_mat(), get_quick_mesh(), blender::workbench::get_world_shading_rotation_matrix(), blender::ed::transform::gizmo2d_xform_draw_prepare(), blender::ed::transform::gizmo_3d_foreach_selected(), gizmo_cage2d_modal(), gizmo_cage3d_modal(), gizmo_placement_prop_matrix_get(), gizmo_placement_prop_matrix_set(), GPU_matrix_model_view_projection_get(), hair_create_input_mesh(), init_curve_deform(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), make_child_duplis_faces_from_editmesh(), make_child_duplis_faces_from_mesh(), make_child_duplis_verts_from_editmesh(), make_child_duplis_verts_from_mesh(), make_dmats(), make_dupli(), make_duplis_collection(), make_duplis_font(), make_duplis_geometry_set_impl(), make_duplis_particle_system(), mat4_to_dquat(), matrix_from_obj_pchan(), matrix_from_obj_pchan(), meshdeformModifier_do(), minmax_evaluate(), MOD_get_texture_coords(), modify_mesh(), modify_mesh(), move3d_draw_intern(), mul_m4_m4_post(), mul_m4_m4_pre(), mul_m4_m4m4(), normalEditModifier_do_directional(), ob_parcurve(), object_apply_mat4_with_protect(), object_solver_inverted_matrix(), blender::ed::object::object_transform_to_mouse_exec(), blender::ed::object::object_warp_calc_view_matrix(), blender::ed::object::object_xform_array_m4(), blender::ed::object::object_xform_skip_child_container_update_all(), objectsolver_evaluate(), blender::ed::transform::pose_mirror_info_init(), blender::ed::transform::pose_transform_mirror_update(), proj_paint_state_viewport_init(), psys_mat_hair_to_global(), blender::io::alembic::AbcObjectReader::read_matrix(), blender::io::usd::USDXformReader::read_matrix(), reconstruct_retrieve_libmv_tracks(), reconstructed_camera_scale_set(), remap_hair_emitter(), blender::ed::transform::resize_transform_matrix_fn(), BCQuat::rotate_to(), SCULPT_cube_tip_init(), blender::ed::sculpt_paint::sculpt_init_mirror_clipping(), set_axis(), set_plane_exec(), solve_parenting(), sort_bmelem_flag(), sphere_do(), surfacedeformModifier_do(), target_callback(), blender::ed::transform::transform_convert_clip_mirror_modifier_apply(), blender::ed::sculpt_paint::transform_matrices_init(), transform_pivot_set_m4(), translike_evaluate(), blender::io::usd::USD_get_transform(), uvprojectModifier_do(), vertex_dupli(), view3d_viewmatrix_set(), vpaint_stroke_update_step(), warpModifier_do(), waveModifier_do(), where_is_ik_bone(), WIDGETGROUP_armature_spline_refresh(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), WM_gizmo_calc_matrix_final_params(), wm_gizmo_calculate_scale(), wm_xr_draw_matrices_create(), wm_xr_fly_compute_turn(), wm_xr_grab_compute(), wm_xr_grab_compute_bimanual(), wm_xr_navigation_fly_modal(), wm_xr_navigation_grab_apply(), wm_xr_navlocks_apply(), wm_xr_session_actions_update(), wm_xr_session_controller_pose_calc(), wm_xr_session_state_update(), and wpaint_stroke_update_step().
| void mul_m4_m4m4_aligned_scale | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4] ) |
Combines transformations, handling scale separately in a manner equivalent to the Aligned Inherit Scale mode, in order to avoid creating shear. If A scale is uniform, the result is equivalent to ordinary multiplication.
NOTE: this effectively takes output location from simple multiplication, and uses mul_m4_m4m4_split_channels for rotation and scale.
Definition at line 1146 of file math_matrix_c.cc.
References A, B, loc_rot_size_to_mat4(), mat4_to_loc_rot_size(), mul_m3_m3m3(), mul_v3_m4v3(), mul_v3_v3v3(), and R.
Referenced by actcon_evaluate(), and translike_evaluate().
| void mul_m4_m4m4_split_channels | ( | float | R[4][4], |
| const float | A[4][4], | ||
| const float | B[4][4] ) |
Separately combines location, rotation and scale of the input matrices.
Definition at line 1162 of file math_matrix_c.cc.
References A, add_v3_v3v3(), B, loc_rot_size_to_mat4(), mat4_to_loc_rot_size(), mul_m3_m3m3(), mul_v3_v3v3(), and R.
Referenced by actcon_evaluate(), and translike_evaluate().
| void mul_m4_v3 | ( | const float | M[4][4], |
| float | r[3] ) |
Definition at line 662 of file math_matrix_c.cc.
Referenced by add_vertex_exec(), add_verts_to_dgroups(), apply_curve_transform(), applyarmature_process_selected_recursive(), blender::ed::transform::applyFaceNearest(), blender::ed::transform::applyFaceProject(), armature_bone_primitive_add_exec(), armature_calc_roll_exec(), armature_transform_recurse(), armature_vert_task_with_dvert(), armdef_evaluate(), arrayModifier_doArray(), BKE_curve_deform_co(), BKE_curve_transform_ex(), BKE_lattice_transform(), BKE_mball_transform(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BM_mesh_calc_uvs_circle(), BMBVH_EdgeVisible(), BMD_mesh_intersection(), bmo_create_circle_exec(), bmo_create_cone_exec(), bmo_create_cube_exec(), bmo_create_icosphere_exec(), bmo_create_monkey_exec(), bmo_create_uvsphere_exec(), bmo_transform_exec(), bone_direction_worldspace_get(), box_minmax_bounds_m4(), bpy_bmesh_transform(), brush_add(), brush_add_count_iter(), brush_puff(), blender::ed::sculpt_paint::filter::cache_init(), blender::ed::object::calc_active_center(), blender::ed::object::calc_active_center_for_editmode(), blender::ed::transform::calc_gizmo_stats(), blender::ed::sculpt_paint::calc_local_from_screen(), calc_ortho_extent(), calc_point_from_barycentric_cage(), calc_point_from_barycentric_extrusion(), calculate_autoscale_factor(), blender::ed::transform::calculateCenterActive(), blender::ed::sculpt_paint::face_set::change_visibility_exec(), cloth_from_object(), cloth_to_object(), cloth_update_verts(), blender::ed::transform::createTransParticleVerts(), blender::ed::transform::createTransSculpt(), cuboid_do(), blender::ed::sculpt_paint::cursor_draw_point_screen_space(), blender::ed::sculpt_paint::cursor_draw_point_with_symmetry(), curve_deform_coords_impl(), deflect_emitter_iter(), deform_verts(), deform_verts(), densfunc(), disconnect_hair(), do_guides(), do_step_cloth(), do_texture_effector(), draw_bone_name(), draw_marker_texts(), DRW_text_cache_draw(), dvar_eval_locDiff(), dynamic_paint_brush_velocity_compute_cb(), dynamicPaint_brushObjectCalculateVelocity(), dynamicPaint_generateBakeData(), dynamicPaint_paintMesh(), ED_armature_edit_transform(), ED_armature_join_objects_exec(), ED_armature_origin_set(), ED_curve_add_nurbs_primitive(), ED_curve_join_objects_exec(), ED_mesh_deform_bind_callback(), ED_view3d_clipping_calc(), ED_view3d_win_to_3d_on_plane_with_fallback(), edbm_dupli_extrude_cursor_invoke(), EDBM_mesh_knife(), edbm_polybuild_face_at_cursor_invoke(), edbm_polybuild_split_at_cursor_invoke(), EDBM_unified_findnearest_from_raycast(), edge_pos_direction_worldspace_get(), blender::ed::transform::edge_slide_snap_apply(), blender::ed::transform::edge_slide_transform_matrix_fn(), explodeMesh(), blender::io::stl::export_frame(), blender::ed::transform::flushTransParticles(), font_cursor_text_index_from_event(), blender::draw::View::frustum_culling_sphere_calc(), get_cpa_texture(), get_effector_data(), get_quick_mesh(), blender::ed::transform::gizmo_3d_calc_pos(), gizmo_arrow_test_select(), gizmo_mesh_spin_init_refresh(), gizmo_window_project_2d(), gizmo_window_project_3d(), globallen(), gpencil_point_to_xy(), greasepencil_copy_data(), hair_create_input_mesh(), init_meta(), Freestyle::BlenderFileLoader::insertShapeNode(), join_mesh_single(), knife_bm_tri_cagecos_get_worldspace(), blender::io::ply::load_plydata(), make_duplis_font(), merge_target(), mesh_bisect_exec(), mesh_merge_transform(), MOD_get_texture_coords(), modify_mesh(), modify_mesh(), motionpaths_calc_bake_targets(), mul_project_m4_v3(), mul_v3m3_dq(), blender::ed::object::object_origin_set_exec(), paint_init_pivot(), paint_proj_begin_clone(), blender::ed::sculpt_paint::paint_stroke_curve_end(), particles_fluid_step(), PE_lasso_select(), PE_minmax(), PE_mirror_particle(), PE_update_mirror_cache(), pointdensity_cache_object(), pointdensity_cache_psys(), precalc_guides(), precalculate_effector(), project_paint_op(), psys_apply_hair_lattice(), psys_cache_edit_paths_iter(), psys_cache_paths(), psys_get_birth_coords(), psys_get_particle_on_path(), psys_get_texture(), psys_thread_create_path(), remap_hair_emitter(), remove_doubles_exec(), save_hair(), sculpt_apply_texture(), SCULPT_cache_calc_brushdata_symm(), SCULPT_calc_vertex_displacement(), shrinkwrap_get_tarmat(), snap_curs_to_sel_ex(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), blender::ed::transform::snap_source_closest_fn(), blender::ed::transform::snapsource_confirm(), softbody_reset(), softbody_to_object(), softbody_update_positions(), sort_bmelem_flag(), sphere_do(), spin_exec(), springs_from_mesh(), blender::ed::transform::tranform_snap_target_median_calc(), blender::ed::transform::transform_convert_clip_mirror_modifier_apply(), update_duplicate_action_constraint_settings(), update_duplicate_loc_rot_constraint_settings(), update_duplicate_transform_constraint_settings(), update_location_for_2d_curve(), blender::ed::sculpt_paint::update_sculpt_normal(), update_world_cos(), uv_warp_from_mat4_pair(), v3d_cursor_plane_draw_grid(), v3d_editvertex_buts(), blender::ed::transform::vert_slide_snap_apply(), blender::ed::transform::vert_slide_transform_matrix_fn(), blender::io::obj::OBJCurve::vertex_coordinates(), view3d_preselect_update_preview_triangle_from_edge(), view3d_preselect_update_preview_triangle_from_vert(), view3d_viewmatrix_set(), and warpModifier_do().
| void mul_m4_v4 | ( | const float | mat[4][4], |
| float | r[4] ) |
Definition at line 795 of file math_matrix_c.cc.
References mul_v4_m4v4().
Referenced by BKE_uvproject_from_camera(), BKE_uvproject_from_view(), box_clip_bounds_m4(), camera_frame_fit_data_init(), drw_shgroup_bone_envelope(), drw_shgroup_bone_envelope_distance(), ED_view3d_global_to_vector(), ED_view3d_offset_distance(), ed_view3d_project__internal(), ED_view3d_project_float_v2_m4(), ED_view3d_project_float_v3_m4(), GPU_matrix_project_2fv(), GPU_matrix_project_3fv(), paint_proj_begin_clone(), project_paint_face_init(), tri_corner_adj_vmesh(), view3d_boundbox_clip_m4(), and blender::render::hydra::ViewSettings::ViewSettings().
| void mul_m4db_m4db_m4fl | ( | double | R[4][4], |
| const double | A[4][4], | ||
| const float | B[4][4] ) |
Definition at line 258 of file math_matrix_c.cc.
References A, B, copy_m4_m4_db(), mul_m4db_m4db_m4fl(), R, and T.
Referenced by lineart_main_load_geometries(), lineart_main_try_generate_shadow_v3(), lineart_object_load_single_instance(), and mul_m4db_m4db_m4fl().
| void mul_mat3_m4_fl | ( | float | R[4][4], |
| float | f ) |
Definition at line 890 of file math_matrix_c.cc.
Referenced by add_primitive_monkey_exec(), BKE_bone_parent_transform_calc_from_matrices(), blender::ed::object::effector_add_exec(), make_duplis_particle_system(), uvprojectModifier_do(), and WM_gizmo_calc_matrix_final_params().
| void mul_mat3_m4_v3 | ( | const float | mat[4][4], |
| float | r[3] ) |
Same as mul_m4_v3() but doesn't apply translation component.
Definition at line 723 of file math_matrix_c.cc.
Referenced by armature_finalize_restpose(), armature_transform_recurse(), arrayModifier_doArray(), BKE_lattice_deform_data_create(), BKE_volume_density_scale(), BLI_space_transform_apply_normal(), BLI_space_transform_invert_normal(), BM_mesh_calc_uvs_cone(), brush_comb(), blender::ed::sculpt_paint::brush_delta_update(), brush_puff(), brush_smooth_do(), brush_smooth_get(), cast_ray_highpoly(), damptrack_do_transform(), do_guides(), do_kink(), do_kink_spiral(), dynamic_paint_generate_bake_data_cb(), dynamicPaint_paintMesh(), ED_armature_origin_set(), ED_curve_add_nurbs_primitive(), ED_text_to_object(), ED_view3d_distance_set(), ED_view3d_to_m4(), edbm_dupli_extrude_cursor_invoke(), blender::ed::transform::ElementResize(), face_dupli(), get_effector_data(), blender::ed::sculpt_paint::trim::get_origin_and_normal(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::initShear_mouseInputMode(), Freestyle::BlenderFileLoader::insertShapeNode(), mat4_to_scale(), mesh_merge_transform(), modify_mesh(), precalc_guides(), precalculate_effector(), psys_get_birth_coords(), psys_get_particle_on_path(), psys_vec_rot_to_face(), RE_bake_normal_world_to_object(), SCULPT_calc_vertex_displacement(), shrinkwrap_get_tarmat(), uvprojectModifier_do(), vertex_dupli(), view3d_ob_drop_matrix_from_snap(), view3d_viewmatrix_set(), and walk_ray_cast().
| void mul_project_m4_v3 | ( | const float | mat[4][4], |
| float | vec[3] ) |
Definition at line 753 of file math_matrix_c.cc.
References fabsf, mul_m4_v3(), mul_project_m4_v3_zfac(), and w().
Referenced by blender::draw::drw_debug_matrix_as_bbox(), ED_view3d_win_to_origin(), ED_view3d_win_to_vector(), blender::draw::View::frustum_boundbox_calc(), blender::eevee::DepthOfField::jitter_apply(), blender::eevee::DepthOfField::render(), screen_px_to_vector_persp(), and uvprojectModifier_do().
| void mul_transposed_m3_v3 | ( | const float | M[3][3], |
| float | r[3] ) |
Definition at line 848 of file math_matrix_c.cc.
Referenced by BM_edge_calc_face_angle_with_imat3_ex(), BMD_mesh_intersection(), cloth_hair_update_bending_rest_targets(), and world_to_root_v3().
| void mul_transposed_mat3_m4_v3 | ( | const float | M[4][4], |
| float | r[3] ) |
Definition at line 858 of file math_matrix_c.cc.
Referenced by calc_point_from_barycentric_extrusion(), displaceModifier_do_task(), face_to_plane(), knife_snap_angle_relative(), mesh_bisect_exec(), RE_bake_normal_world_to_tangent(), similar_face_select_exec(), similar_vert_select_exec(), blender::draw::statvis_calc_overhang(), blender::ed::curves::stroke_elem_project_fallback(), and stroke_elem_project_fallback().
| void mul_v2_m2v2 | ( | float | r[2], |
| const float | mat[2][2], | ||
| const float | vec[2] ) |
Definition at line 710 of file math_matrix_c.cc.
References x.
Referenced by blender::geometry::PackIsland::get_diagonal_support(), mul_m2_v2(), blender::geometry::PackIsland::place_(), blender::geometry::rotate_inside_square(), stitch_uv_rotate(), blender::geometry::Occupancy::trace_island(), and uvedit_pack_islands_multi().
| void mul_v2_m3v2 | ( | float | r[2], |
| const float | m[3][3], | ||
| const float | v[2] ) |
Definition at line 644 of file math_matrix_c.cc.
References copy_v2_v2(), mul_v3_m3v3(), and v.
Referenced by blender::ed::transform::MaskHandleToTransData(), blender::ed::transform::MaskPointToTransData(), and mul_m3_v2().
| void mul_v2_m3v3 | ( | float | r[2], |
| const float | M[3][3], | ||
| const float | a[3] ) |
Definition at line 829 of file math_matrix_c.cc.
References copy_v3_v3(), and M.
Referenced by BKE_mesh_remap_calc_faces_from_mesh(), BLI_polyfill_edge_calc_rotate_beauty__area(), BLI_scanfill_calc_ex(), BM_face_calc_tessellation(), BM_face_interp_from_face(), BM_face_interp_from_face_ex(), BM_face_point_inside_test(), BM_face_split_edgenet(), BM_face_split_edgenet_connect_islands(), BM_face_splits_check_legal(), BM_face_triangulate(), bm_interp_face_store(), BM_loop_interp_from_face(), BM_vert_interp_from_face(), bmesh_calc_tessellation_for_face_beauty(), bmesh_calc_tessellation_for_face_impl(), C_BVHTree_FromPolygons(), blender::geometry::ngon::calc_corner_tris(), blender::io::obj::fixup_invalid_face(), blender::bke::mesh::mesh_calc_tessellation_for_face_impl(), mesh_tessface_calc(), normalize_v2_m3_v3v3(), blender::geometry::p_add_ngon(), poly_rotate_plane(), projected_boundary_area(), smart_project_exec(), and blender::bke::greasepencil::update_triangle_cache().
| void mul_v2_m4v3 | ( | float | r[2], |
| const float | mat[4][4], | ||
| const float | vec[3] ) |
Definition at line 702 of file math_matrix_c.cc.
References x.
Referenced by mul_v2_project_m4_v3().
| void mul_v2_project_m4_v3 | ( | float | r[2], |
| const float | mat[4][4], | ||
| const float | vec[3] ) |
Definition at line 774 of file math_matrix_c.cc.
References fabsf, mul_project_m4_v3_zfac(), mul_v2_m4v3(), and w().
Referenced by uvprojectModifier_do().
| void mul_v3_m3v3 | ( | float | r[3], |
| const float | M[3][3], | ||
| const float | a[3] ) |
Definition at line 809 of file math_matrix_c.cc.
References copy_v3_v3(), and M.
Referenced by blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_auto_pivot(), blender::nodes::node_fn_align_euler_to_vector_cc::align_rotations_fixed_pivot(), apply_tangmat_callback(), blender::ed::transform::applyNormalRotation(), blender::ed::transform::applyTranslation(), blender::ed::transform::applyTranslationMatrix(), assign_final_coords_from_mdisps(), assign_final_elements_from_orig_mdisps(), blender::bke::subdiv::average_read_displacement_object(), BKE_crazyspace_api_displacement_to_deformed(), BKE_crazyspace_api_displacement_to_original(), BLI_newton3d_solve(), BM_face_calc_area_with_mat3(), BM_face_calc_perimeter_with_mat3(), blender::ed::transform::bmesh_test_dist_add(), bmo_create_uvsphere_exec(), calc_deltas(), cloth_hair_update_bending_targets(), correctivesmooth_modifier_do(), deformVerts_do(), edbm_extrude_repeat_exec(), blender::bke::subdiv::eval_displacement(), blender::io::stl::export_frame(), gizmo_axis_draw(), gizmo_mesh_spin_init_refresh(), gizmo_mesh_spin_redo_update_from_op(), hook_co_apply(), IMB_colormanagement_aces_to_scene_linear(), IMB_colormanagement_rec709_to_scene_linear(), IMB_colormanagement_scene_linear_to_aces(), IMB_colormanagement_scene_linear_to_rec709(), IMB_colormanagement_scene_linear_to_srgb_v3(), IMB_colormanagement_scene_linear_to_xyz(), IMB_colormanagement_xyz_to_scene_linear(), blender::ed::transform::initResize(), blender::bke::mesh_init_origspace(), MOD_solidify_nonmanifold_modifyMesh(), modify_mesh(), mul_m3_v3(), mul_v2_m3v2(), multires_disp_run_cb(), multires_reshape_apply_base_update_mesh_coords(), object_grid_element_to_tangent_displacement(), paintface_minmax(), blender::ed::transform::prop_dist_loc_get(), root_to_world_v3(), blender::io::ply::set_world_axes_transform(), snap_selected_to_location_rotation(), track_plane_from_existing_motion(), blender::ed::transform::transform_constraint_get_nearest(), and transform_point_by_tri_v3().
| void mul_v3_m3v3_db | ( | double | r[3], |
| const double | M[3][3], | ||
| const double | a[3] ) |
Definition at line 819 of file math_matrix_c.cc.
References copy_v3_v3_db(), and M.
Referenced by mul_m3_v3_db().
| void mul_v3_m4v3 | ( | float | r[3], |
| const float | mat[4][4], | ||
| const float | vec[3] ) |
Definition at line 672 of file math_matrix_c.cc.
Referenced by blender::ed::object::add_hook_object(), add_vertex_invoke(), add_verts_to_dgroups(), add_weighted_dq_dq_pivot(), annotation_stroke_convertcoords(), applyarmature_adjust_edit_position(), armature_fill_bones_exec(), armdef_accumulate_bone(), bc_add_global_transform(), bc_apply_global_transform(), BKE_bone_parent_transform_apply(), BKE_bone_parent_transform_calc_from_matrices(), BKE_curve_nurbs_vert_coords_apply_with_mat4(), BKE_keyblock_curve_data_transform(), BKE_keyblock_data_set_with_mat4(), BKE_lattice_deform_data_eval_co(), BKE_lattice_vert_coords_apply_with_mat4(), BKE_mball_minmax_ex(), BKE_mesh_wrapper_vert_coords_copy_with_mat4(), BKE_object_as_kdtree(), BKE_object_foreach_display_point(), BKE_object_get_parent_matrix(), BKE_pchan_bbone_spline_params_get(), BKE_uvproject_from_view_ortho(), BLI_space_transform_apply(), BLI_space_transform_invert(), BM_mesh_calc_uvs_cone(), BM_mesh_vert_coords_apply_with_mat4(), bmo_create_grid_exec(), blender::ed::sculpt_paint::brush_delta_update(), brush_puff(), bundle_midpoint(), cage3d_draw_box_interaction(), cage3d_draw_circle_handles(), calc_local_clipping(), blender::ed::sculpt_paint::calc_local_from_screen(), blender::ed::sculpt_paint::trim::calculate_depth(), calculate_profile(), calculate_profile_segments(), blender::ed::transform::calculateCenterLocal(), cast_ray_highpoly(), compute_bbone_segment_boundaries(), constraint_target_to_mat4(), contarget_get_lattice_mat(), contarget_get_mesh_mat(), cuboid_do(), blender::ed::curves::curve_draw_stroke_from_operator_elem(), curve_draw_stroke_from_operator_elem(), do_set_scale(), blender::io::alembic::ABCPointsWriter::do_write(), blender::ed::transform::drawObjectConstraint(), ebone_spline_preview(), ED_clip_point_stable_pos(), ED_clip_point_stable_pos__reverse(), ED_mesh_deform_bind_callback(), edbm_dupli_extrude_cursor_invoke(), edbm_extrude_edge_exclude_mirror(), edbm_polybuild_face_at_cursor_invoke(), EDBM_project_snap_verts(), edbm_screw_exec(), edbm_select_axis_exec(), EDBM_unified_findnearest_from_raycast(), extrude_points_from_selected_vertices(), face_to_plane(), followtrack_evaluate_using_2d_position(), followtrack_project_to_depth_object_if_needed(), blender::ed::sculpt_paint::trim::generate_geometry(), generate_vert_coordinates(), get_bm_knife_vert(), blender::ed::object::get_new_constraint_target(), blender::ed::sculpt_paint::trim::get_origin_and_normal(), get_vert2ob_distance(), blender::ed::transform::gizmo_3d_foreach_selected(), gizmo_move_modal(), gizmo_preselect_elem_test_select(), GPU_matrix_unproject_3fv(), hook_co_apply(), kinematic_get_tarmat(), meshdeform_vert_task(), meshdeformModifier_do(), MOD_get_texture_coords(), mul_m4_m4m4_aligned_scale(), mul_v3_project_m4_v3(), nearestVert(), blender::ed::object::object_warp_calc_view_matrix(), blender::ed::object::object_warp_transverts(), paint_calc_object_space_radius(), particle_system_minmax(), pchan_deform_accumulate(), blender::ed::transform::pose_transform_mirror_update(), blender::ed::transform::prop_dist_loc_get(), psys_cache_paths(), blender::ed::transform::raycast_all_cb(), reconstruct_retrieve_libmv_tracks(), remap_hair_emitter(), screenspace_to_worldspace(), selected_tracking_boundbox(), set_axis(), set_origin_exec(), set_plane_exec(), shape_cut(), shape_cut_test_point(), blender::ed::transform::SnapData::snap_edge_points_impl(), snap_selected_to_location_rotation(), snap_to_pipe_profile(), sort_bmelem_flag(), sphere_do(), splineik_evaluate_bone(), blender::ed::curves::stroke_elem_pressure_set(), stroke_elem_pressure_set(), blender::ed::curves::stroke_elem_project_fallback(), stroke_elem_project_fallback(), surfacedeformBind(), tracking_stabilize_frame_interpolation_cb(), blender::ed::transform::transdata_center_global_get(), uv_map_transform_center(), uvprojectModifier_do(), view3d_preselect_update_preview_triangle_from_vert(), blender::ed::object::voxel_size_edit_invoke(), vpaint_stroke_update_step(), warpModifier_do(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), and wpaint_stroke_update_step().
| void mul_v3_m4v3_db | ( | double | r[3], |
| const double | mat[4][4], | ||
| const double | vec[3] ) |
Definition at line 682 of file math_matrix_c.cc.
Referenced by lineart_mvert_transform_task().
| void mul_v3_mat3_m4v3 | ( | float | r[3], |
| const float | mat[4][4], | ||
| const float | vec[3] ) |
Definition at line 733 of file math_matrix_c.cc.
Referenced by applyarmature_process_selected_recursive(), bone_length_squared_worldspace_get(), cast_ray_highpoly(), compute_bbone_segment_boundaries(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), edbm_dupli_extrude_cursor_invoke(), edge_length_squared_worldspace_get(), followtrack_distance_from_viewplane_get(), gizmo_calc_rect_view_scale(), gizmo_calc_rect_view_scale(), lineart_main_get_view_vector(), move3d_get_translate(), blender::ed::object::object_origin_set_exec(), and splineik_evaluate_bone().
| void mul_v3_mat3_m4v3_db | ( | double | r[3], |
| const double | mat[4][4], | ||
| const double | vec[3] ) |
Definition at line 743 of file math_matrix_c.cc.
Referenced by lineart_load_tri_task().
| void mul_v3_project_m4_v3 | ( | float | r[3], |
| const float | mat[4][4], | ||
| const float | vec[3] ) |
Definition at line 764 of file math_matrix_c.cc.
References fabsf, mul_project_m4_v3_zfac(), mul_v3_m4v3(), and w().
Referenced by dial_ghostarc_get_angles(), and blender::draw::View::frustum_culling_sphere_calc().
| void mul_v4_m4v3 | ( | float | r[4], |
| const float | M[4][4], | ||
| const float | v[3] ) |
Definition at line 800 of file math_matrix_c.cc.
Referenced by GPU_matrix_project_2fv(), and GPU_matrix_project_3fv().
| void mul_v4_m4v3_db | ( | double | r[4], |
| const double | mat[4][4], | ||
| const double | vec[3] ) |
Definition at line 691 of file math_matrix_c.cc.
Referenced by lineart_create_edges_from_isec_data(), lineart_geometry_check_visible(), lineart_main_make_enclosed_shapes(), lineart_mvert_transform_task(), lineart_shadow_cast_onto_triangle(), lineart_shadow_register_enclosed_shapes(), lineart_shadow_transform_task(), lineart_triangle_cull_single(), and lineart_triangle_edge_image_space_occlusion().
| void mul_v4_m4v4 | ( | float | r[4], |
| const float | mat[4][4], | ||
| const float | v[4] ) |
Definition at line 783 of file math_matrix_c.cc.
Referenced by calculate_reprojection_error_at_marker(), draw_tracking_tracks(), and mul_m4_v4().
| void negate_m3 | ( | float | R[3][3] | ) |
Definition at line 901 of file math_matrix_c.cc.
Referenced by BMD_mesh_intersection(), mat3_normalized_to_quat_with_checks(), mat3_to_rot_size(), SIM_mass_spring_force_reference_frame(), SIM_mass_spring_force_spring_bending_hair(), spring_hairbend_estimate_dfdv(), and spring_hairbend_estimate_dfdx().
| void negate_m4 | ( | float | R[4][4] | ) |
Definition at line 923 of file math_matrix_c.cc.
Referenced by blender::ed::sculpt_paint::gesture::flip_for_symmetry_pass(), and blender::ed::sculpt_paint::gesture::update_affected_nodes_by_clip_planes().
| void negate_mat3_m4 | ( | float | R[4][4] | ) |
Definition at line 912 of file math_matrix_c.cc.
Referenced by gizmo_placement_prop_matrix_set().
| void normalize_m2_m2 | ( | float | R[2][2], |
| const float | M[2][2] ) |
Definition at line 1707 of file math_matrix_c.cc.
References i, M, normalize_v2_v2(), and R.
Referenced by Vector_rotate().
| void normalize_m3 | ( | float | R[3][3] | ) |
Definition at line 1715 of file math_matrix_c.cc.
References i, normalize_v3(), and R.
Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::transform::apply_targetless_ik(), blender::ed::transform::axis_angle_to_gimbal_axis(), BKE_armature_transform(), blender::ed::transform::calc_gizmo_stats(), blender::ed::transform::calc_orientation_from_type_ex(), camera_frame_fit_data_init(), convert_tree(), blender::ed::transform::createObjectSpace(), blender::ed::transform::createSpaceNormal(), blender::ed::transform::createTransArmatureVerts(), blender::ed::transform::createTransCursor_view3d(), blender::ed::transform::createTransSculpt(), blender::ed::transform::createTransTexspace(), blender::ed::transform::createViewSpace(), ED_armature_edit_transform(), ED_view3d_from_m4(), execute_posetree(), blender::ed::transform::gimbal_axis_object(), blender::ed::transform::gimbal_axis_pose(), blender::ed::transform::gizmo_mesh_extrude_draw_prepare(), locktrack_evaluate(), mat3_to_quat_legacy(), mat4_to_compatible_eulO(), mat4_to_eulO(), mat4_to_quat(), mathutils_any_to_rotmat(), Matrix_normalize(), Matrix_to_euler(), blender::ed::object::object_transform_axis_target_modal(), pivotcon_evaluate(), blender::ed::transform::SeqToTransData(), splineik_evaluate_bone(), blender::ed::transform::transform_orientation_matrix_get(), blender::ed::transform::transformViewUpdate(), and v3d_cursor_poject_surface_normal().
| void normalize_m3_m3 | ( | float | R[3][3], |
| const float | M[3][3] ) |
Definition at line 1723 of file math_matrix_c.cc.
References i, M, normalize_v3_v3(), and R.
Referenced by blender::ed::transform::init_TransDataContainers(), mat3_to_compatible_eul(), mat3_to_compatible_eulO(), mat3_to_eul(), mat3_to_eulO(), mat3_to_quat(), mat4_to_loc_quat(), and splineik_evaluate_bone().
| void normalize_m4 | ( | float | R[4][4] | ) |
Definition at line 1741 of file math_matrix_c.cc.
References i, len, normalize_v3(), and R.
Referenced by BKE_bone_parent_transform_calc_from_matrices(), BKE_camera_multiview_model_matrix(), BKE_constraint_mat_convertspace(), BKE_pchan_bbone_segments_cache_compute(), BKE_pchan_bbone_spline_params_get(), BKE_uvproject_camera_info(), blender::ed::sculpt_paint::calc_brush_local_mat(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_forces(), contarget_get_mesh_mat(), convert_pose(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), ED_view3d_draw_offscreen_imbuf_simple(), execute_posetree(), hair_create_input_mesh(), Matrix_normalize(), proj_paint_state_viewport_init(), and SCULPT_cube_tip_init().
| void normalize_m4_ex | ( | float | R[4][4], |
| float | r_scale[3] ) |
Definition at line 1731 of file math_matrix_c.cc.
References i, normalize_v3(), and R.
Referenced by BKE_bone_parent_transform_calc_from_matrices(), and stretchto_evaluate().
| void normalize_m4_m4 | ( | float | rmat[4][4], |
| const float | mat[4][4] ) |
Definition at line 1752 of file math_matrix_c.cc.
References copy_v4_v4(), i, len, and normalize_v3_v3().
Referenced by button2d_draw_intern(), camera_stereo3d_model_matrix(), ED_view3d_camera_lock_sync(), move3d_draw_intern(), blender::ed::object::object_transform_to_mouse_exec(), obmat_to_viewmat(), and WIDGETGROUP_light_target_draw_prepare().
| void orthogonalize_m3 | ( | float | R[3][3], |
| int | axis ) |
Make an orthonormal matrix around the selected axis of the given matrix.
| axis | Axis to build the orthonormal basis around. |
Definition at line 1287 of file math_matrix_c.cc.
References BLI_assert_unreachable, cross_v3_v3v3(), dot_v3v3(), mat3_to_size(), mul_v3_fl(), normalize_v3(), R, and size().
Referenced by v3d_cursor_poject_surface_normal(), and v3d_cursor_snap_update().
| bool orthogonalize_m3_zero_axes | ( | float | m[3][3], |
| const float | unit_length ) |
Definition at line 1598 of file math_matrix_c.cc.
References orthogonalize_m3_zero_axes_impl().
Referenced by invert_m3_m3_safe_ortho(), and blender::ed::transform::ObjectToTransData().
|
static |
Definition at line 1541 of file math_matrix_c.cc.
References ATTR_FALLTHROUGH, BLI_assert_unreachable, cross_v3_v3v3(), ELEM, flag, i, len_squared_v3(), normalize_v3_length(), ortho_v3_v3(), UNLIKELY, X, Y, and Z.
Referenced by orthogonalize_m3_zero_axes(), and orthogonalize_m4_zero_axes().
| void orthogonalize_m4 | ( | float | R[4][4], |
| int | axis ) |
Make an orthonormal matrix around the selected axis of the given matrix.
| axis | Axis to build the orthonormal basis around. |
Definition at line 1371 of file math_matrix_c.cc.
References BLI_assert_unreachable, cross_v3_v3v3(), dot_v3v3(), mat4_to_size(), mul_v3_fl(), normalize_v3(), R, and size().
Referenced by blender::ed::transform::gizmo_refresh_from_matrix(), and mat4_to_dquat().
| void orthogonalize_m4_stable | ( | float | R[4][4], |
| int | axis, | ||
| bool | normalize ) |
Make an orthonormal matrix around the selected axis of the given matrix, in a way that is symmetric and stable to variations in the input, and preserving the value of the determinant, i.e. the overall volume change.
| axis | Axis to build the orthonormal basis around. |
| normalize | Normalize the matrix instead of preserving volume. |
Definition at line 1508 of file math_matrix_c.cc.
References BLI_assert_unreachable, normalize, orthogonalize_stable(), and R.
Referenced by armdef_accumulate_matrix(), BKE_bone_parent_transform_calc_from_matrices(), BKE_object_apply_parent_inverse(), rotlike_evaluate(), rotlimit_evaluate(), stretchto_evaluate(), and translike_evaluate().
| bool orthogonalize_m4_zero_axes | ( | float | m[4][4], |
| const float | unit_length ) |
Definition at line 1603 of file math_matrix_c.cc.
References orthogonalize_m3_zero_axes_impl().
Referenced by invert_m4_m4_safe_ortho().
|
static |
Make an orthonormal basis around v1 in a way that is stable and symmetric.
Definition at line 1456 of file math_matrix_c.cc.
References acosf, angle(), copy_v3_v3(), cosf, cross_v3_v3v3(), dot_v3v3(), fabsf, len_squared_v3(), len_v3(), M_PI_2, madd_v3_v3fl(), mul_v3_fl(), mul_v3_v3fl(), normalize, normalize_v3(), normalize_v3_v3(), sinf, sqrtf, and v2.
Referenced by orthogonalize_m4_stable().
| void print_m3 | ( | const char * | str, |
| const float | m[3][3] ) |
Definition at line 2358 of file math_matrix_c.cc.
| void print_m4 | ( | const char * | str, |
| const float | m[4][4] ) |
Definition at line 2367 of file math_matrix_c.cc.
Referenced by armature_finalize_restpose().
| void pseudoinverse_m3_m3 | ( | float | inverse[3][3], |
| const float | mat[3][3], | ||
| float | epsilon ) |
Definition at line 2835 of file math_matrix_c.cc.
References copy_m3_m4(), copy_m4_m3(), inverse, invert_m3_m3(), and pseudoinverse_m4_m4().
Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::transform::createTransArmatureVerts(), blender::ed::transform::createTransCursor_2D_impl(), blender::ed::transform::createTransCursor_view3d(), blender::ed::transform::createTransCurveVerts(), blender::ed::transform::createTransEdge(), blender::ed::transform::createTransEditVerts(), blender::ed::transform::createTransLatticeVerts(), blender::ed::transform::createTransMBallVerts(), blender::ed::transform::createTransMeshSkin(), blender::ed::transform::createTransMeshVertCData(), and blender::ed::transform::createTransTexspace().
| void pseudoinverse_m4_m4 | ( | float | inverse[4][4], |
| const float | mat[4][4], | ||
| float | epsilon ) |
Definition at line 2813 of file math_matrix_c.cc.
References A, i, inverse, mul_m4_series, svd_m4(), transpose_m4(), transpose_m4_m4(), U, V, W, and zero_m4().
Referenced by pseudoinverse_m3_m3(), and blender::tests::TEST().
| void rescale_m4 | ( | float | mat[4][4], |
| const float | scale[3] ) |
Scale a matrix in-place.
Definition at line 2107 of file math_matrix_c.cc.
References mul_v3_fl().
Referenced by BKE_bone_parent_transform_apply(), BKE_bone_parent_transform_calc_from_matrices(), BKE_pchan_minmax(), C_Matrix_LocRotScale(), draw_axes(), draw_bone_update_disp_matrix_custom_shape(), draw_bone_update_disp_matrix_default(), blender::draw::gpencil::gpencil_uv_transform_get(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), loc_rot_size_to_mat4(), modify_mesh(), blender::ed::object::new_primitive_matrix(), blender::draw::overlay::Lights::object_sync(), blender::nodes::node_geo_scale_instances_cc::scale_instances(), stretchto_evaluate(), blender::io::obj::transform_object(), and view3d_ob_drop_matrix_from_snap().
| void rotate_m4 | ( | float | mat[4][4], |
| char | axis, | ||
| float | angle ) |
Rotate a matrix in-place.
Definition at line 2070 of file math_matrix_c.cc.
References angle(), BLI_assert, BLI_assert_unreachable, col, cosf, and sinf.
Referenced by blender::ed::sculpt_paint::cursor_draw_point_with_symmetry(), blender::ed::transform::gizmo2d_xform_draw_prepare(), gizmo_cage2d_modal(), blender::draw::gpencil::gpencil_uv_transform_get(), GPU_matrix_rotate_2d(), GPU_matrix_rotate_axis(), modify_mesh(), polarview_m4(), SCULPT_cache_calc_brushdata_symm(), and stabilization_data_to_mat4().
| void scale_m3_fl | ( | float | R[3][3], |
| float | scale ) |
Definition at line 2045 of file math_matrix_c.cc.
References R.
Referenced by deform_matrices(), and deform_matrices_EM().
| void scale_m4_fl | ( | float | R[4][4], |
| float | scale ) |
Definition at line 2053 of file math_matrix_c.cc.
References R.
Referenced by BKE_object_obdata_size_init(), BKE_pchan_minmax(), blender::ed::sculpt_paint::calc_brush_local_mat(), blender::io::alembic::ABCTransformWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), draw_bone_degrees_of_freedom(), drw_shgroup_bone_envelope(), followpath_get_tarmat(), GPU_matrix_scale_1f(), ob_parcurve(), blender::io::alembic::AbcObjectReader::read_matrix(), blender::io::usd::USDXformReader::read_matrix(), reconstructed_camera_scale_set(), SCULPT_cube_tip_init(), and blender::ed::object::voxel_size_edit_invoke().
| void shuffle_m4 | ( | float | R[4][4], |
| const int | index[4] ) |
Build index shuffle matrix.
Definition at line 196 of file math_matrix_c.cc.
Referenced by modify_mesh().
| void size_to_mat3 | ( | float | R[3][3], |
| const float | size[3] ) |
Definition at line 1888 of file math_matrix_c.cc.
Referenced by blender::ed::transform::applyBoneSize(), blender::ed::transform::applyResize(), blender::ed::transform::applySkinResize(), BKE_object_scale_to_mat3(), BKE_pchan_to_mat4(), blend_m3_m3m3(), blender::ed::transform::ElementBoneSize(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), and mat3_polar_decompose().
| void size_to_mat4 | ( | float | R[4][4], |
| const float | size[3] ) |
Definition at line 1901 of file math_matrix_c.cc.
Referenced by BKE_pchan_bbone_spline_compute(), BKE_texture_mapping_init(), UnitConverter::calculate_scale(), camera_stereo3d_model_matrix(), blender::ed::transform::constraintScaleLim(), blender::io::alembic::copy_m44_axis_swap(), TransformReader::dae_scale_to_mat4(), draw_bone_update_disp_matrix_bbone(), ED_view3d_cameracontrol_update(), AnimationImporter::evaluate_animation(), make_duplis_particle_system(), stabilization_data_to_mat4(), blender::ed::sculpt_paint::transform_matrices_init(), and blender::ed::object::voxel_size_edit_invoke().
| void sub_m3_m3m3 | ( | float | R[3][3], |
| const float | A[3][3], | ||
| const float | B[3][3] ) |
Definition at line 978 of file math_matrix_c.cc.
Referenced by apply_spring(), dfdx_spring(), SIM_hair_volume_vertex_grid_forces(), SIM_mass_spring_add_constraint_ndof1(), SIM_mass_spring_add_constraint_ndof2(), SIM_mass_spring_force_spring_bending_hair(), splineik_evaluate_bone(), and spring_grad_dir().
| void svd_m4 | ( | float | U[4][4], |
| float | s[4], | ||
| float | V[4][4], | ||
| float | A_[4][4] ) |
Compute the Single Value Decomposition of an arbitrary matrix A That is compute the 3 matrices U,W,V with U column orthogonal (m,n) ,W a diagonal matrix and V an orthogonal square matrix s.t.A = U.W.Vt. From this decomposition it is trivial to compute the (pseudo-inverse) of A as Ainv = V.Winv.transpose(U).
Definition at line 2377 of file math_matrix_c.cc.
References A, b, copy_m4_m4(), e, eps, fabsf, hypotf, i, max_ff(), max_ii(), min_ii(), powf, sqrtf, U, V, zero_m4(), and zero_v4().
Referenced by pseudoinverse_m4_m4().
| void swap_m4m4 | ( | float | m1[4][4], |
| float | m2[4][4] ) |
Definition at line 182 of file math_matrix_c.cc.
References i.
Referenced by vpaint_stroke_update_step(), and wpaint_stroke_update_step().
| void transform_pivot_set_m4 | ( | float | mat[4][4], |
| const float | pivot[3] ) |
Scale or rotate around a pivot point, a convenience function to avoid having to do inline.
Since its common to make a scale/rotation matrix that pivots around an arbitrary point.
Typical use case is to make 3x3 matrix, copy to 4x4, then pass to this function.
Definition at line 2114 of file math_matrix_c.cc.
References copy_v3_v3(), mul_m4_m4m4(), negate_v3(), and unit_m4().
Referenced by blender::ed::transform::applyRotationMatrix(), blender::ed::transform::applyTrackballMatrix(), bmo_rotate_exec(), ED_view3d_win_to_3d_on_plane_with_fallback(), gizmo_cage2d_modal(), gizmo_cage3d_modal(), and blender::ed::transform::resize_transform_matrix_fn().
| void translate_m4 | ( | float | mat[4][4], |
| float | Tx, | ||
| float | Ty, | ||
| float | Tz ) |
Definition at line 2063 of file math_matrix_c.cc.
Referenced by BKE_pchan_minmax(), camera_stereo3d_model_matrix(), blender::ed::object::collection_drop_exec(), cursor_point_draw(), blender::ed::sculpt_paint::pose::do_pose_brush(), draw_axes(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_custom_shape(), draw_bone_update_disp_matrix_default(), blender::ed::sculpt_paint::dyntopo::dyntopo_detail_size_edit_invoke(), followtrack_evaluate_using_3d_position_camera(), followtrack_evaluate_using_3d_position_object(), blender::draw::gpencil::gpencil_uv_transform_get(), GPU_matrix_translate_3f(), lookat_m4(), modify_mesh(), polarview_m4(), blender::ed::sculpt_paint::cloth::simulation_limits_draw(), blender::ed::sculpt_paint::transform_matrices_init(), view3d_viewmatrix_set(), wm_xr_pose_scale_to_imat(), and wm_xr_pose_to_imat().
| void transpose_m3 | ( | float | R[3][3] | ) |
Definition at line 1180 of file math_matrix_c.cc.
References R.
Referenced by axis_dominant_v3_to_m3(), axis_dominant_v3_to_m3_negate(), contarget_get_mesh_mat(), blender::io::usd::USDTransformWriter::do_write(), blender::io::usd::ensure_root_prim(), blender::ed::transform::getTransformOrientation_ex(), GPU_matrix_normal_get(), Matrix_transpose(), blender::io::ply::set_world_axes_transform(), single_axis_convert(), TEST(), vcloud_estimate_transform_v3(), and world_to_root_m3().
| void transpose_m3_m3 | ( | float | R[3][3], |
| const float | M[3][3] ) |
Definition at line 1195 of file math_matrix_c.cc.
References BLI_assert, M, and R.
Referenced by calc_deltas(), execute_posetree(), is_uniform_scaled_m3(), and mat3_polar_decompose().
| void transpose_m3_m4 | ( | float | R[3][3], |
| const float | M[4][4] ) |
Definition at line 1210 of file math_matrix_c.cc.
References BLI_assert, M, and R.
Referenced by psys_get_dupli_path_transform().
| void transpose_m4 | ( | float | R[4][4] | ) |
Definition at line 1225 of file math_matrix_c.cc.
References R.
Referenced by BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_texture_mapping_init(), button2d_draw_intern(), camera_frame_fit_data_init(), Freestyle::BlenderFileLoader::insertShapeNode(), lineart_main_get_view_vector(), lineart_object_load_single_instance(), Matrix_transpose(), modify_mesh(), move3d_draw_intern(), pseudoinverse_m4_m4(), psys_vec_rot_to_face(), TEST(), and BCMatrix::transpose().
| void transpose_m4_m4 | ( | float | R[4][4], |
| const float | M[4][4] ) |
Definition at line 1251 of file math_matrix_c.cc.
References BLI_assert, M, and R.
Referenced by dist_squared_to_projected_aabb_precalc(), UnitConverter::mat4_to_dae(), and pseudoinverse_m4_m4().
| void unit_m2 | ( | float | m[2][2] | ) |
Definition at line 35 of file math_matrix_c.cc.
Referenced by matrix_identity_internal(), and matrix_invert_safe_internal().
| void unit_m3 | ( | float | m[3][3] | ) |
Definition at line 42 of file math_matrix_c.cc.
Referenced by blender::ed::object::apply_objects_internal(), blender::ed::transform::apply_shear_value(), armature_bone_primitive_add_exec(), axis_angle_to_mat3(), BKE_bone_parent_transform_calc_from_matrices(), BKE_curve_deform_co(), BKE_mask_point_parent_matrix_get(), BLI_rctf_transform_calc_m3_pivot_min(), bm_vert_pair_to_matrix(), bmo_scale_exec(), BMO_slot_mat3_get(), blender::ed::transform::calc_gizmo_stats(), blender::ed::transform::calc_orientation_from_type_ex(), calc_tangent_loop(), convert_tree(), blender::io::alembic::copy_m44_axis_swap(), blender::io::alembic::create_swapped_rotation_matrix(), blender::ed::transform::create_transform_data_for_node(), blender::ed::transform::createSpaceNormalTangent_or_fallback(), blender::ed::transform::createTransCursor_2D_impl(), blender::ed::transform::createTransCursor_view3d(), blender::ed::transform::createTransGraphEditData(), blender::ed::transform::createTransNlaData(), blender::ed::transform::createTransParticleVerts(), deformVerts_do(), ed_editnurb_spin(), blender::ed::transform::ED_getTransformOrientationMatrix(), edbm_dupli_extrude_cursor_invoke(), blender::ed::transform::ElementMirror(), blender::ed::transform::ElementRotation_ex(), execute_posetree(), blender::io::stl::export_frame(), blender::ed::transform::gizmo2d_xform_invoke_prepare(), blender::ed::transform::gizmo_mesh_extrude_refresh(), gizmo_mesh_spin_redo_setup(), blender::ed::transform::handle_object_parent_orientation(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), blender::ed::transform::initTransform(), blender::ed::transform::initTransInfo(), invert_m3_m3_safe_ortho(), legacy_vec_roll_to_mat3_normalized(), locktrack_evaluate(), blender::ed::transform::markerToTransCurveDataInit(), blender::ed::transform::markerToTransDataInit(), blender::ed::transform::MaskHandleToTransData(), blender::ed::transform::MaskPointToTransData(), mat3_from_axis_conversion(), mat3_from_axis_conversion_single(), mat3_normalized_to_quat_with_checks(), matrix_identity_internal(), matrix_invert_safe_internal(), mesh_calc_eigen_matrix(), meshcache_do(), blender::ed::transform::ObjectToTransData(), blender::ed::transform::PaintCurveConvertHandle(), blender::ed::transform::PaintCurvePointToTransData(), blender::ed::transform::planeMarkerToTransDataInit(), blender::ed::transform::projection_matrix_calc(), blender::ed::transform::restoreTransObjects(), rotation_between_vecs_to_mat3(), blender::ed::transform::SeqToTransData(), blender::ed::transform::SeqToTransData(), blender::ed::transform::SeqToTransData(), blender::io::ply::set_world_axes_transform(), SIM_mass_spring_clear_constraints(), SIM_mass_spring_set_rest_transform(), SIM_mass_spring_set_vertex_mass(), softbody_reset(), spring_hairbend_estimate_dfdv(), spring_hairbend_estimate_dfdx(), blender::bke::tests::TEST(), blender::io::alembic::TEST(), blender::io::alembic::TEST(), blender::io::alembic::TEST(), blender::io::alembic::TEST(), TEST(), TEST(), blender::ed::transform::transdata_elem_translate(), blender::ed::transform::transform_convert_mesh_islands_calc(), blender::ed::transform::transform_data_ext_rotate(), blender::io::obj::transform_object(), blender::ed::transform::transform_orientation_matrix_get(), blender::ed::transform::transform_orientations_create_from_axis(), ui_draw_but_WAVEFORM(), uv_map_transform(), blender::ed::transform::UVsToTransData(), v3d_cursor_snap_update(), vcloud_estimate_transform_v3(), vec_roll_to_mat3_normalized(), and vectomat().
| void unit_m4 | ( | float | m[4][4] | ) |
Definition at line 50 of file math_matrix_c.cc.
Referenced by actcon_get_tarmat(), action_flip_pchan(), blender::ed::object::add_hook_object(), annotation_session_initdata(), AnimationImporter::apply_matrix_curves(), applyarmature_process_selected_recursive(), armdef_get_tarmat(), arrayModifier_doArray(), axis_angle_to_mat4(), BKE_armature_loc_pose_to_bone(), BKE_armature_loc_world_to_pose(), BKE_armature_mat_pose_to_bone_ex(), BKE_bone_parent_transform_calc_from_matrices(), BKE_bone_parent_transform_clear(), BKE_constraint_custom_object_space_init(), BKE_constraint_target_matrix_get(), BKE_constraint_targets_for_solving_get(), BKE_constraints_make_evalob(), BKE_lattice_resize(), BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(), BKE_object_calc_parent(), BKE_object_get_parent_matrix(), BKE_object_obdata_size_init(), BKE_pose_channel_ensure(), BKE_pose_where_is_bone(), BKE_texture_mapping_default(), BKE_texture_mapping_init(), BKE_tracking_camera_get_reconstructed_interpolate(), BLI_rctf_transform_calc_m4_pivot_min_ex(), blo_do_versions_260(), blo_do_versions_270(), blo_do_versions_pre250(), BMO_slot_mat4_get(), bmo_translate_exec(), brush_puff(), C_Matrix_LocRotScale(), C_Matrix_Translation(), blender::ed::transform::calc_gizmo_stats(), AnimationImporter::calc_joint_parent_mat_rest(), camera_stereo3d_model_matrix(), blender::ed::object::childof_clear_inverse_exec(), childof_new_data(), clampto_evaluate(), clip_draw_main(), blender::ed::object::collection_drop_exec(), blender::ed::transform::constraintTransLim(), convert_pose(), blender::io::usd::convert_to_z_up(), convert_tree(), blender::io::alembic::copy_m44_axis_swap(), blender::ed::transform::createTransParticleVerts(), blender::ed::sculpt_paint::cursor_draw_point_with_symmetry(), TransformReader::dae_translate_to_mat4(), damptrack_do_transform(), blender::ed::sculpt_paint::pose::do_pose_brush(), draw_bone_degrees_of_freedom(), blender::ed::transform::drawPropCircle(), DRW_hair_duplimat_get(), ED_armature_join_objects_exec(), ED_curve_add_nurbs_primitive(), AnimationImporter::evaluate_transform_at_frame(), execute_posetree(), followpath_get_tarmat(), foreach_mouse_hit_key_iter(), FRS_do_stroke_rendering(), TransformReader::get_node_mat(), blender::ed::transform::gizmo2d_xform_draw_prepare(), gizmo_axis_draw(), gizmo_cage2d_modal(), gizmo_cage3d_modal(), gizmo_calc_matrix_final_no_offset(), gizmo_empty_image_prop_matrix_get(), gizmo_render_border_prop_matrix_get(), gizmo_window_project_2d(), gizmo_window_project_3d(), blender::draw::gpencil::gpencil_uv_transform_get(), GPU_matrix_identity_projection_set(), GPU_matrix_identity_set(), GPU_matrix_reset(), GPU_matrix_translate_2f(), GPU_matrix_translate_3f(), blender::ed::greasepencil::grease_pencil_layer_parent_set(), blender::io::ply::importer_main(), blender::io::stl::importer_main(), init_context(), init_meta(), blender::image_engine::SpaceImageAccessor::init_ss_to_texture_matrix(), blender::image_engine::SpaceNodeAccessor::init_ss_to_texture_matrix(), invert_m4_m4_safe(), invert_m4_m4_safe_ortho(), kinematic_get_tarmat(), blender::bke::greasepencil::Layer::Layer(), loc_eul_size_to_mat4(), loc_eulO_size_to_mat4(), loc_quat_size_to_mat4(), lookat_m4(), make_duplis_collection(), make_duplis_geometry_set_impl(), matrix_identity_internal(), matrix_invert_safe_internal(), Matrix_resize_4x4(), mesh_calc_eigen_matrix(), minmax_evaluate(), modify_mesh(), modify_mesh(), blender::ed::object::new_primitive_matrix(), blender::ed::space_node::node_gizmo_calc_matrix_space(), blender::ed::space_node::node_gizmo_calc_matrix_space_with_image_dims(), ob_parbone(), ob_parcurve(), ob_parvert3(), object_solver_inverted_matrix(), blender::ed::object::object_warp_verts_exec(), blender::ed::object::object_xform_array_m4(), blender::ed::object::objectsolver_clear_inverse_exec(), objectsolver_new_data(), orthographic_m4(), blender::ed::object::parent_clear(), blender::ed::object::parent_noinv_set_exec(), blender::ed::object::parent_set(), blender::ed::object::parent_set_with_depsgraph(), particle_system_minmax(), PE_lasso_select(), PE_minmax(), polarview_m4(), blender::ed::transform::pose_mirror_info_init(), blender::ed::transform::pose_transform_mirror_update(), psys_face_mat(), psys_get_dupli_path_transform(), psys_get_particle_on_path(), psys_get_particle_state(), psys_mat_hair_to_object(), blender::io::alembic::AbcObjectReader::read_matrix(), blender::io::usd::USDXformReader::read_matrix(), reconstruct_retrieve_libmv_tracks(), set_axis(), set_plane_exec(), blender::ed::transform::setTransformViewMatrices(), shrinkwrap_get_tarmat(), blender::ed::sculpt_paint::cloth::simulation_limits_draw(), blender::ed::transform::snapsource_confirm(), spin_exec(), splineik_evaluate_init(), stabilization_data_to_mat4(), TEST(), tool_generic_create_gizmo(), blender::ed::sculpt_paint::transform_matrices_init(), blender::io::obj::transform_object(), transform_pivot_set_m4(), ui_search_menu_create_tooltip(), UI_view2d_view_to_region_m4(), unit_ct_matrix_nullsafe(), UnitConverter::UnitConverter(), update_duplicate_action_constraint_settings(), update_duplicate_loc_rot_constraint_settings(), update_duplicate_transform_constraint_settings(), blender::ed::view3d::geometry_nodes_gizmos::TransformGizmos::update_translate_style(), uv_map_rotation_matrix_ex(), uvprojectModifier_do(), vfont_to_curve(), blender::ed::object::voxel_size_edit_invoke(), warpModifier_do(), WIDGETGROUP_camera_refresh(), WIDGETGROUP_camera_view_draw_prepare(), WIDGETGROUP_light_target_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_refresh(), WM_gizmo_calc_matrix_final_no_offset(), wm_gizmo_create(), wm_software_cursor_draw_bitmap(), wm_xr_fly_compute_move(), wm_xr_grab_compute(), wm_xr_grab_compute_bimanual(), wm_xr_navigation_fly_modal(), and WM_xr_session_state_viewer_pose_matrix_info_get().
| void unit_m4_db | ( | double | m[4][4] | ) |
Definition at line 59 of file math_matrix_c.cc.
Referenced by lineart_main_load_geometries(), lineart_main_try_generate_shadow_v3(), lineart_matrix_ortho_44d(), and lineart_matrix_perspective_44d().
| void zero_m3 | ( | float | m[3][3] | ) |
Definition at line 25 of file math_matrix_c.cc.
Referenced by armature_vert_task_with_dvert(), cross_identity_v3(), end_node_frames(), flush_pixel(), hair_grid_interpolate(), MOD_solidify_nonmanifold_modifyMesh(), SIM_hair_volume_vertex_grid_forces(), SIM_mass_spring_add_constraint_ndof0(), SIM_mass_spring_force_spring_bending(), SIM_mass_spring_force_spring_bending_hair(), spring_grad_dir(), spring_hairbend_estimate_dfdv(), spring_hairbend_estimate_dfdx(), TEST(), blender::ed::transform::transform_orientations_create_from_axis(), and vcloud_estimate_transform_v3().
| void zero_m4 | ( | float | m[4][4] | ) |
Definition at line 30 of file math_matrix_c.cc.
Referenced by BKE_texture_mapping_init(), BMO_slot_mat_set(), ED_view3d_clear_mats_rv3d(), gizmo_mesh_placement_modal_from_setup(), pseudoinverse_m4_m4(), SCULPT_cube_tip_init(), shuffle_m4(), svd_m4(), and uv_map_rotation_matrix_ex().