46 void copy_m2_m2(
float m1[2][2],
const float m2[2][2]);
47 void copy_m3_m3(
float m1[3][3],
const float m2[3][3]);
48 void copy_m4_m4(
float m1[4][4],
const float m2[4][4]);
49 void copy_m3_m4(
float m1[3][3],
const float m2[4][4]);
50 void copy_m4_m3(
float m1[4][4],
const float m2[3][3]);
51 void copy_m3_m2(
float m1[3][3],
const float m2[2][2]);
52 void copy_m4_m2(
float m1[4][4],
const float m2[2][2]);
57 void copy_m3_m3d(
float m1[3][3],
const double m2[3][3]);
60 void copy_m4d_m4(
double m1[4][4],
const float m2[4][4]);
62 void swap_m3m3(
float m1[3][3],
float m2[3][3]);
63 void swap_m4m4(
float m1[4][4],
float m2[4][4]);
70 void add_m3_m3m3(
float R[3][3],
const float A[3][3],
const float B[3][3]);
71 void add_m4_m4m4(
float R[4][4],
const float A[4][4],
const float B[4][4]);
73 void madd_m3_m3m3fl(
float R[3][3],
const float A[3][3],
const float B[3][3],
const float f);
74 void madd_m4_m4m4fl(
float R[4][4],
const float A[4][4],
const float B[4][4],
const float f);
76 void sub_m3_m3m3(
float R[3][3],
const float A[3][3],
const float B[3][3]);
77 void sub_m4_m4m4(
float R[4][4],
const float A[4][4],
const float B[4][4]);
79 void mul_m3_m3m3(
float R[3][3],
const float A[3][3],
const float B[3][3]);
80 void mul_m4_m3m4(
float R[4][4],
const float A[3][3],
const float B[4][4]);
81 void mul_m4_m4m3(
float R[4][4],
const float A[4][4],
const float B[3][3]);
82 void mul_m4_m4m4(
float R[4][4],
const float A[4][4],
const float B[4][4]);
83 void mul_m3_m3m4(
float R[3][3],
const float A[3][3],
const float B[4][4]);
84 void mul_m3_m4m3(
float R[3][3],
const float A[4][4],
const float B[3][3]);
85 void mul_m3_m4m4(
float R[3][3],
const float A[4][4],
const float B[4][4]);
104 const float M1[3][3],
105 const float M2[3][3],
108 const float M1[3][3],
109 const float M2[3][3],
110 const float M3[3][3],
113 const float M1[3][3],
114 const float M2[3][3],
115 const float M3[3][3],
116 const float M4[3][3],
119 const float M1[3][3],
120 const float M2[3][3],
121 const float M3[3][3],
122 const float M4[3][3],
123 const float M5[3][3],
126 const float M1[3][3],
127 const float M2[3][3],
128 const float M3[3][3],
129 const float M4[3][3],
130 const float M5[3][3],
131 const float M6[3][3],
134 const float M1[3][3],
135 const float M2[3][3],
136 const float M3[3][3],
137 const float M4[3][3],
138 const float M5[3][3],
139 const float M6[3][3],
140 const float M7[3][3],
145 const float M1[4][4],
146 const float M2[4][4],
149 const float M1[4][4],
150 const float M2[4][4],
151 const float M3[4][4],
154 const float M1[4][4],
155 const float M2[4][4],
156 const float M3[4][4],
157 const float M4[4][4],
160 const float M1[4][4],
161 const float M2[4][4],
162 const float M3[4][4],
163 const float M4[4][4],
164 const float M5[4][4],
167 const float M1[4][4],
168 const float M2[4][4],
169 const float M3[4][4],
170 const float M4[4][4],
171 const float M5[4][4],
172 const float M6[4][4],
175 const float M1[4][4],
176 const float M2[4][4],
177 const float M3[4][4],
178 const float M4[4][4],
179 const float M5[4][4],
180 const float M6[4][4],
181 const float M7[4][4],
184 #define mul_m3_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m3_series_, __VA_ARGS__)
185 #define mul_m4_series(...) VA_NARGS_CALL_OVERLOAD(_va_mul_m4_series_, __VA_ARGS__)
188 void mul_v3_m4v3(
float r[3],
const float M[4][4],
const float v[3]);
189 void mul_v3_m4v3_db(
double r[3],
const double mat[4][4],
const double vec[3]);
190 void mul_v4_m4v3_db(
double r[4],
const double mat[4][4],
const double vec[3]);
191 void mul_v2_m4v3(
float r[2],
const float M[4][4],
const float v[3]);
192 void mul_v2_m2v2(
float r[2],
const float M[2][2],
const float v[2]);
198 void mul_v4_m4v4(
float r[4],
const float M[4][4],
const float v[4]);
199 void mul_v4_m4v3(
float r[4],
const float M[4][4],
const float v[3]);
204 void mul_m3_v2(
const float m[3][3],
float r[2]);
205 void mul_v2_m3v2(
float r[2],
const float m[3][3],
const float v[2]);
207 void mul_v3_m3v3(
float r[3],
const float M[3][3],
const float a[3]);
208 void mul_v2_m3v3(
float r[2],
const float M[3][3],
const float a[3]);
248 bool compare_m4m4(
const float mat1[4][4],
const float mat2[4][4],
float limit);
290 float a1,
float a2,
float a3,
float b1,
float b2,
float b3,
float c1,
float c2,
float c3);
295 #define PSEUDOINVERSE_EPSILON 1e-8f
297 void svd_m4(
float U[4][4],
float s[4],
float V[4][4],
float A[4][4]);
329 void translate_m4(
float mat[4][4],
float tx,
float ty,
float tz);
331 void rotate_m4(
float mat[4][4],
const char axis,
const float angle);
332 void rescale_m3(
float mat[3][3],
const float scale[2]);
333 void rescale_m4(
float mat[4][4],
const float scale[3]);
341 void mat4_decompose(
float loc[3],
float quat[4],
float size[3],
const float wmat[4][4]);
348 const float size[2]);
351 const float rot[3][3],
352 const float size[3]);
356 const float size[3]);
358 float R[4][4],
const float loc[3],
const float eul[3],
const float size[3],
const short order);
362 const float size[3]);
367 const float size[3]);
370 const float dst[3][3],
371 const float src[3][3],
372 const float srcweight);
374 const float dst[4][4],
375 const float src[4][4],
376 const float srcweight);
378 void interp_m3_m3m3(
float R[3][3],
const float A[3][3],
const float B[3][3],
const float t);
379 void interp_m4_m4m4(
float R[4][4],
const float A[4][4],
const float B[4][4],
const float t);
387 bool equals_m3m3(
const float mat1[3][3],
const float mat2[3][3]);
388 bool equals_m4m4(
const float mat1[4][4],
const float mat2[4][4]);
398 const float local[4][4],
399 const float target[4][4]);
401 const float local[4][4],
402 const float target[4][4]);
408 #define BLI_SPACE_TRANSFORM_SETUP(data, local, target) \
409 BLI_space_transform_from_matrices((data), (local)->obmat, (target)->obmat)
416 #define print_m3_id(M) print_m3(STRINGIFY(M), M)
417 #define print_m4_id(M) print_m4(STRINGIFY(M), M)
#define ATTR_NONNULL(...)
void mul_v4_m4v3(float r[4], const float M[4][4], const float v[3])
void _va_mul_m4_series_6(float R[4][4], const float M1[4][4], const float M2[4][4], const float M3[4][4], const float M4[4][4], const float M5[4][4]) ATTR_NONNULL()
void orthogonalize_m3_stable(float R[3][3], int axis, bool normalize)
bool is_negative_m3(const float mat[3][3])
void BLI_space_transform_from_matrices(struct SpaceTransform *data, const float local[4][4], const float target[4][4])
void mul_v4_m4v4(float r[4], const float M[4][4], const float v[4])
void sub_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3])
void unit_m2(float m[2][2])
void _va_mul_m3_series_9(float R[3][3], const float M1[3][3], const float M2[3][3], const float M3[3][3], const float M4[3][3], const float M5[3][3], const float M6[3][3], const float M7[3][3], const float M8[3][3]) ATTR_NONNULL()
void mul_v4_m4v3_db(double r[4], const double mat[4][4], const double vec[3])
void negate_m3(float R[3][3])
void mul_project_m4_v3(const float M[4][4], float vec[3])
bool is_zero_m3(const float mat[3][3])
void orthogonalize_m4(float R[4][4], int axis)
void swap_m3m3(float m1[3][3], float m2[3][3])
void mul_v3_project_m4_v3(float r[3], const float mat[4][4], const float vec[3])
void mul_m3_v3(const float M[3][3], float r[3])
void zero_m4(float m[4][4])
void BLI_space_transform_apply_normal(const struct SpaceTransform *data, float no[3])
void mul_m4_fl(float R[4][4], float f)
void mul_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void mul_mat3_m4_fl(float R[4][4], float f)
void _va_mul_m3_series_4(float R[3][3], const float M1[3][3], const float M2[3][3], const float M3[3][3]) ATTR_NONNULL()
void mul_m3_m3_pre(float R[3][3], const float A[3][3])
void BLI_space_transform_apply(const struct SpaceTransform *data, float co[3])
void size_to_mat3(float R[3][3], const float size[3])
bool is_uniform_scaled_m3(const float mat[3][3])
bool invert_m4(float R[4][4])
void sub_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
bool invert_m4_m4_fallback(float R[4][4], const float A[4][4])
void normalize_m3_m3(float R[3][3], const float M[3][3]) ATTR_NONNULL()
void mul_m4_v4(const float M[4][4], float r[4])
void mul_v3_m3v3_db(double r[3], const double M[3][3], const double a[3])
void normalize_m2_m2(float R[2][2], const float M[2][2]) ATTR_NONNULL()
void loc_rot_size_to_mat3(float R[3][3], const float loc[2], const float angle, const float size[2])
void copy_m3_m3(float m1[3][3], const float m2[3][3])
void mat4_decompose(float loc[3], float quat[4], float size[3], const float wmat[4][4])
void madd_m4_m4m4fl(float R[4][4], const float A[4][4], const float B[4][4], const float f)
void mul_v2_m2v2(float r[2], const float M[2][2], const float v[2])
void adjoint_m3_m3(float R[3][3], const float M[3][3])
void unit_m3(float m[3][3])
void mul_m3_v2(const float m[3][3], float r[2])
void mat3_to_rot_size(float rot[3][3], float size[3], const float mat3[3][3])
void add_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4])
void scale_m3_fl(float R[3][3], float scale)
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 copy_m3_m4(float m1[3][3], const float m2[4][4])
float determinant_m4_mat3_array(const float m[4][4])
void mul_m4_m4m3(float R[4][4], const float A[4][4], const float B[3][3])
void pseudoinverse_m4_m4(float Ainv[4][4], const float A[4][4], float epsilon)
void mul_v3_m4v3_db(double r[3], const double mat[4][4], const double vec[3])
void transpose_m4_m4(float R[4][4], const float M[4][4])
void mul_m4_m4_pre(float R[4][4], const float A[4][4])
void mul_m4_m4m4_db_uniq(double R[4][4], const double A[4][4], const double B[4][4])
float mat4_to_xy_scale(const float M[4][4])
void mul_m3_fl(float R[3][3], float f)
void mul_v2_m3v3(float r[2], const float M[3][3], const float a[3])
void normalize_m2_m2_ex(float R[2][2], const float M[2][2], float r_scale[2]) ATTR_NONNULL()
void zero_m2(float m[2][2])
void invert_m4_m4_safe_ortho(float Ainv[4][4], const float A[4][4])
void orthogonalize_m3(float R[3][3], int axis)
void copy_m3_m3d(float m1[3][3], const double m2[3][3])
void mul_m3_m3_post(float R[3][3], const float B[3][3])
void unit_m4(float m[4][4])
void add_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3])
void copy_m4_m3(float m1[4][4], const float m2[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]) ATTR_NONNULL()
void translate_m3(float mat[3][3], float tx, float ty)
void mul_mat3_m4_v3(const float M[4][4], float r[3])
void translate_m4(float mat[4][4], float tx, float ty, float tz)
void loc_rot_size_to_mat4(float R[4][4], const float loc[3], const float rot[3][3], const float size[3])
void mat4_to_rot(float rot[3][3], const float wmat[4][4])
void mat4_to_size_fix_shear(float size[3], const float M[4][4])
void svd_m4(float U[4][4], float s[4], float V[4][4], float A[4][4])
bool is_uniform_scaled_m4(const float m[4][4])
void mul_v4d_m4v4d(double r[4], const float M[4][4], const double v[4])
bool invert_m4_m4(float R[4][4], const float A[4][4])
void invert_m3_m3_safe_ortho(float Ainv[3][3], const float A[3][3])
void mat4_to_loc_rot_size(float loc[3], float rot[3][3], float size[3], const float wmat[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]) ATTR_NONNULL()
void zero_m3(float m[3][3])
bool has_zero_axis_m4(const float matrix[4][4])
void normalize_m3(float R[3][3]) ATTR_NONNULL()
void transform_pivot_set_m4(float mat[4][4], const float pivot[3])
void mul_m3_v3_double(const float M[3][3], double r[3])
float determinant_m2(float a, float b, float c, float d)
void _va_mul_m4_series_5(float R[4][4], const float M1[4][4], const float M2[4][4], const float M3[4][4], const float M4[4][4]) ATTR_NONNULL()
void transform_pivot_set_m3(float mat[3][3], const float pivot[2])
bool is_orthogonal_m3(const float mat[3][3])
bool equals_m3m3(const float mat1[3][3], const float mat2[3][3])
void rescale_m4(float mat[4][4], const float scale[3])
bool is_orthonormal_m3(const float mat[3][3])
void mul_m4_m4m4_uniq(float R[4][4], const float A[4][4], const float B[4][4])
void size_to_mat4(float R[4][4], const float size[3])
struct SpaceTransform SpaceTransform
void unit_m4_db(double m[4][4])
void copy_m4d_m4(double m1[4][4], const float m2[4][4])
void BLI_space_transform_global_from_matrices(struct SpaceTransform *data, const float local[4][4], const float target[4][4])
void mul_m4_v3(const float M[4][4], float r[3])
void mul_m4_v4d(const float M[4][4], double r[4])
float mat3_to_scale(const float M[3][3])
void orthogonalize_m4_stable(float R[4][4], int axis, bool normalize)
void scale_m4_fl(float R[4][4], float scale)
void adjoint_m4_m4(float R[4][4], const float M[4][4])
bool equals_m4m4(const float mat1[4][4], const float mat2[4][4])
void normalize_m4_m4(float R[4][4], const float M[4][4]) ATTR_NONNULL()
void normalize_m3_m3_ex(float R[3][3], const float M[3][3], float r_scale[3]) ATTR_NONNULL()
void mul_v2_m4v3(float r[2], const float M[4][4], const float v[3])
float determinant_m4(const float m[4][4])
void swap_m4m4(float m1[4][4], float m2[4][4])
bool orthogonalize_m3_zero_axes(float R[3][3], const float unit_length)
void _va_mul_m4_series_9(float R[4][4], const float M1[4][4], const float M2[4][4], const float M3[4][4], const float M4[4][4], const float M5[4][4], const float M6[4][4], const float M7[4][4], const float M8[4][4]) ATTR_NONNULL()
void transpose_m3_m4(float R[3][3], const float M[4][4])
void _va_mul_m3_series_8(float R[3][3], const float M1[3][3], const float M2[3][3], const float M3[3][3], const float M4[3][3], const float M5[3][3], const float M6[3][3], const float M7[3][3]) ATTR_NONNULL()
void copy_m2_m2(float m1[2][2], const float m2[2][2])
void mat3_polar_decompose(const float mat3[3][3], float r_U[3][3], float r_P[3][3])
void mul_v2_project_m4_v3(float r[2], const float M[4][4], const float vec[3])
float mat3_to_volume_scale(const float M[3][3])
void normalize_m4_ex(float R[4][4], float r_scale[3]) ATTR_NONNULL()
void _va_mul_m3_series_5(float R[3][3], const float M1[3][3], const float M2[3][3], const float M3[3][3], const float M4[3][3]) ATTR_NONNULL()
bool invert_m3_m3(float R[3][3], const float A[3][3])
void copy_m4_m4(float m1[4][4], const float m2[4][4])
void _va_mul_m4_series_3(float R[4][4], const float M1[4][4], const float M2[4][4]) ATTR_NONNULL()
void interp_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4], const float t)
void mat4_to_loc_quat(float loc[3], float quat[4], const float wmat[4][4])
void print_m4(const char *str, const float M[4][4])
void mul_transposed_mat3_m4_v3(const float M[4][4], float r[3])
void invert_m4_m4_safe(float Ainv[4][4], const float A[4][4])
void mul_m3_m3m4(float R[3][3], const float A[3][3], const float B[4][4])
void mul_m4db_m4db_m4fl_uniq(double R[4][4], const double A[4][4], const float B[4][4])
void mul_m3_v3_db(const double M[3][3], double r[3])
void mul_m2_v2(const float M[2][2], float v[2])
float determinant_m3_array(const float m[3][3])
void _va_mul_m4_series_8(float R[4][4], const float M1[4][4], const float M2[4][4], const float M3[4][4], const float M4[4][4], const float M5[4][4], const float M6[4][4], const float M7[4][4]) ATTR_NONNULL()
void copy_m4_m2(float m1[4][4], const float m2[2][2])
void shuffle_m4(float R[4][4], const int index[4])
bool is_negative_m4(const float mat[4][4])
void blend_m3_m3m3(float out[3][3], const float dst[3][3], const float src[3][3], const float srcweight)
void negate_mat3_m4(float R[4][4])
void copy_m3_m2(float m1[3][3], const float m2[2][2])
void mul_v2_m3v2(float r[2], const float m[3][3], const float v[2])
void mul_v3_mat3_m4v3_db(double r[3], const double M[4][4], const double v[3])
bool orthogonalize_m4_zero_axes(float R[4][4], const float unit_length)
void mul_m4_m4m4_aligned_scale(float R[4][4], const float A[4][4], const float B[4][4])
void mul_m3_m3m3_uniq(float R[3][3], const float A[3][3], const float B[3][3])
float mat4_to_scale(const float M[4][4])
void mul_v3_m4v3(float r[3], const float M[4][4], const float v[3])
bool invert_m3(float R[3][3])
void loc_quat_size_to_mat4(float R[4][4], const float loc[3], const float quat[4], const float size[3])
void mul_v3_m3v3(float r[3], const float M[3][3], const float a[3])
void loc_eul_size_to_mat4(float R[4][4], const float loc[3], const float eul[3], const float size[3])
void rescale_m3(float mat[3][3], const float scale[2])
void BLI_space_transform_invert_normal(const struct SpaceTransform *data, float no[3])
void mat4_to_size(float size[3], const float M[4][4])
bool invert_m3_m3_ex(float m1[3][3], const float m2[3][3], const float epsilon)
void interp_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3], const float t)
void transpose_m3(float R[3][3])
void BLI_space_transform_invert(const struct SpaceTransform *data, float co[3])
bool is_orthogonal_m4(const float mat[4][4])
void normalize_m3_ex(float R[3][3], float r_scale[3]) ATTR_NONNULL()
float determinant_m3(float a1, float a2, float a3, float b1, float b2, float b3, float c1, float c2, float c3)
void _va_mul_m3_series_7(float R[3][3], const float M1[3][3], const float M2[3][3], const float M3[3][3], const float M4[3][3], const float M5[3][3], const float M6[3][3]) ATTR_NONNULL()
void print_m3(const char *str, const float M[3][3])
void blend_m4_m4m4(float out[4][4], const float dst[4][4], const float src[4][4], const float srcweight)
void transpose_m3_m3(float R[3][3], const float M[3][3])
void negate_m4(float R[4][4])
void mul_transposed_m3_v3(const float M[3][3], float r[3])
bool compare_m4m4(const float mat1[4][4], const float mat2[4][4], float limit)
void normalize_m2(float R[2][2]) ATTR_NONNULL()
float mat4_to_volume_scale(const float M[4][4])
void mul_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3])
bool is_zero_m4(const float mat[4][4])
void mat3_to_size(float size[3], const float M[3][3])
void mul_m4_m3m4(float R[4][4], const float A[3][3], const float B[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]) ATTR_NONNULL()
void transpose_m4(float R[4][4])
void rotate_m3(float mat[3][3], const float angle)
void mul_m4_m4_post(float R[4][4], const float B[4][4])
void pseudoinverse_m3_m3(float Ainv[3][3], const float A[3][3], float epsilon)
bool invert_m3_ex(float m[3][3], const float epsilon)
void madd_m3_m3m3fl(float R[3][3], const float A[3][3], const float B[3][3], const float f)
void loc_axisangle_size_to_mat4(float R[4][4], const float loc[3], const float axis[4], const float angle, const float size[3])
void normalize_m2_ex(float R[2][2], float r_scale[2]) ATTR_NONNULL()
bool is_orthonormal_m4(const float mat[4][4])
void mul_m3_m4m4(float R[3][3], const float A[4][4], const float B[4][4])
void copy_m4_m4_db(double m1[4][4], const double m2[4][4])
void mul_v3_mat3_m4v3(float r[3], const float M[4][4], const float v[3])
void normalize_m4_m4_ex(float R[4][4], const float M[4][4], float r_scale[3]) ATTR_NONNULL()
void mul_m3_m4m3(float R[3][3], const float A[4][4], const float B[3][3])
void rotate_m4(float mat[4][4], const char axis, const float angle)
void normalize_m4(float R[4][4]) ATTR_NONNULL()
void _va_mul_m3_series_3(float R[3][3], const float M1[3][3], const float M2[3][3]) ATTR_NONNULL()
void adjoint_m2_m2(float R[2][2], const float M[2][2])
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint order
ATTR_WARN_UNUSED_RESULT const BMVert * v
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
ccl_device_inline float2 normalize(const float2 &a)
CCL_NAMESPACE_BEGIN struct View V