16 const float s = 1.0f -
t;
18 r[0] = s *
a[0] +
t *
b[0];
19 r[1] = s *
a[1] +
t *
b[1];
23 float r[2],
const float a[2],
const float b[2],
const float c[2],
const float t[3])
25 r[0] =
a[0] *
t[0] +
b[0] *
t[1] +
c[0] *
t[2];
26 r[1] =
a[1] *
t[0] +
b[1] *
t[1] +
c[1] *
t[2];
31 const float s = 1.0f -
t;
33 r[0] = s *
a[0] +
t *
b[0];
34 r[1] = s *
a[1] +
t *
b[1];
35 r[2] = s *
a[2] +
t *
b[2];
40 const float s = 1.0f -
t;
42 r[0] = s *
a[0] +
t *
b[0];
43 r[1] = s *
a[1] +
t *
b[1];
44 r[2] = s *
a[2] +
t *
b[2];
45 r[3] = s *
a[3] +
t *
b[3];
58 if (
UNLIKELY(cosom < (-1.0f + FLT_EPSILON))) {
64 target[0] =
w[0] *
a[0] +
w[1] *
b[0];
65 target[1] =
w[0] *
a[1] +
w[1] *
b[1];
66 target[2] =
w[0] *
a[2] +
w[1] *
b[2];
80 if (
UNLIKELY(cosom < (1.0f + FLT_EPSILON))) {
86 target[0] =
w[0] *
a[0] +
w[1] *
b[0];
87 target[1] =
w[0] *
a[1] +
w[1] *
b[1];
146 float q0[2],
q1[2], q2[2], r0[2], r1[2];
161 float p[3],
const float v1[3],
const float v2[3],
const float v3[3],
const float w[3])
163 p[0] =
v1[0] *
w[0] +
v2[0] *
w[1] + v3[0] *
w[2];
164 p[1] =
v1[1] *
w[0] +
v2[1] *
w[1] + v3[1] *
w[2];
165 p[2] =
v1[2] *
w[0] +
v2[2] *
w[1] + v3[2] *
w[2];
175 p[0] =
v1[0] *
w[0] +
v2[0] *
w[1] + v3[0] *
w[2] + v4[0] *
w[3];
176 p[1] =
v1[1] *
w[0] +
v2[1] *
w[1] + v3[1] *
w[2] + v4[1] *
w[3];
177 p[2] =
v1[2] *
w[0] +
v2[2] *
w[1] + v3[2] *
w[2] + v4[2] *
w[3];
181 float p[4],
const float v1[4],
const float v2[4],
const float v3[4],
const float w[3])
183 p[0] =
v1[0] *
w[0] +
v2[0] *
w[1] + v3[0] *
w[2];
184 p[1] =
v1[1] *
w[0] +
v2[1] *
w[1] + v3[1] *
w[2];
185 p[2] =
v1[2] *
w[0] +
v2[2] *
w[1] + v3[2] *
w[2];
186 p[3] =
v1[3] *
w[0] +
v2[3] *
w[1] + v3[3] *
w[2];
196 p[0] =
v1[0] *
w[0] +
v2[0] *
w[1] + v3[0] *
w[2] + v4[0] *
w[3];
197 p[1] =
v1[1] *
w[0] +
v2[1] *
w[1] + v3[1] *
w[2] + v4[1] *
w[3];
198 p[2] =
v1[2] *
w[0] +
v2[2] *
w[1] + v3[2] *
w[2] + v4[2] *
w[3];
199 p[3] =
v1[3] *
w[0] +
v2[3] *
w[1] + v3[3] *
w[2] + v4[3] *
w[3];
203 float p[3],
const float v1[3],
const float v2[3],
const float v3[3],
const float uv[2])
205 p[0] =
v1[0] + ((
v2[0] -
v1[0]) * uv[0]) + ((v3[0] -
v1[0]) * uv[1]);
206 p[1] =
v1[1] + ((
v2[1] -
v1[1]) * uv[0]) + ((v3[1] -
v1[1]) * uv[1]);
207 p[2] =
v1[2] + ((
v2[2] -
v1[2]) * uv[0]) + ((v3[2] -
v1[2]) * uv[1]);
212 const float s = 1.0f -
t;
214 target[0] = (char)
floorf(s *
a[0] +
t *
b[0]);
215 target[1] = (char)
floorf(s *
a[1] +
t *
b[1]);
216 target[2] = (char)
floorf(s *
a[2] +
t *
b[2]);
225 const float s = 1.0f -
t;
227 target[0] = (char)
floorf(s *
a[0] +
t *
b[0]);
228 target[1] = (char)
floorf(s *
a[1] +
t *
b[1]);
229 target[2] = (char)
floorf(s *
a[2] +
t *
b[2]);
230 target[3] = (char)
floorf(s *
a[3] +
t *
b[3]);
239 r[0] = 0.5f * (
a[0] +
b[0]);
240 r[1] = 0.5f * (
a[1] +
b[1]);
241 r[2] = 0.5f * (
a[2] +
b[2]);
246 r[0] = 0.5f * (
a[0] +
b[0]);
247 r[1] = 0.5f * (
a[1] +
b[1]);
252 v[0] = (
v1[0] +
v2[0] + v3[0]) / 3.0f;
253 v[1] = (
v1[1] +
v2[1] + v3[1]) / 3.0f;
258 v[0] = (
v1[0] +
v2[0] + v3[0]) / 3.0f;
259 v[1] = (
v1[1] +
v2[1] + v3[1]) / 3.0f;
260 v[2] = (
v1[2] +
v2[2] + v3[2]) / 3.0f;
264 float v[3],
const float v1[3],
const float v2[3],
const float v3[3],
const float v4[3])
266 v[0] = (
v1[0] +
v2[0] + v3[0] + v4[0]) / 4.0f;
267 v[1] = (
v1[1] +
v2[1] + v3[1] + v4[1]) / 4.0f;
268 v[2] = (
v1[2] +
v2[2] + v3[2] + v4[2]) / 4.0f;
273 const float factor = 1.0f / (
float)vec_arr_num;
276 for (
uint i = 0; i < vec_arr_num; i++) {
323 v[0] =
v1[0] + (
v1[0] -
v2[0]);
324 v[1] =
v1[1] + (
v1[1] -
v2[1]);
325 v[2] =
v1[2] + (
v1[2] -
v2[2]);
326 v[3] =
v1[3] + (
v1[3] -
v2[3]);
331 v[0] =
v1[0] + (
v1[0] -
v2[0]);
332 v[1] =
v1[1] + (
v1[1] -
v2[1]);
333 v[2] =
v1[2] + (
v1[2] -
v2[2]);
338 v[0] =
v1[0] + (
v1[0] -
v2[0]);
339 v[1] =
v1[1] + (
v1[1] -
v2[1]);
363 float vec1[3], vec2[3];
373 float cos_v3v3v3(
const float p1[3],
const float p2[3],
const float p3[3])
375 float vec1[3], vec2[3];
387 float vec1[3], vec2[3];
397 float vec1[2], vec2[2];
399 vec1[0] =
b[0] -
a[0];
400 vec1[1] =
b[1] -
a[1];
402 vec2[0] =
b[0] -
c[0];
403 vec2[1] =
b[1] -
c[1];
411 float cos_v2v2v2(
const float p1[2],
const float p2[2],
const float p3[2])
413 float vec1[2], vec2[2];
425 float vec1[2], vec2[2];
441 const float perp_dot = (
v1[1] *
v2[0]) - (
v1[0] *
v2[1]);
479 float v1_proj[3], v2_proj[3];
490 float v1_proj[3], v2_proj[3], tproj[3];
513 float vec1[3], vec2[3];
526 float vec1[3], vec2[3];
534 void angle_tri_v3(
float angles[3],
const float v1[3],
const float v2[3],
const float v3[3])
536 float ed1[3], ed2[3], ed3[3];
549 angles[2] = (
float)
M_PI - (angles[0] + angles[1]);
553 float angles[4],
const float v1[3],
const float v2[3],
const float v3[3],
const float v4[3])
555 float ed1[3], ed2[3], ed3[3], ed4[3];
580 for (i = 0; i <
len; i++) {
682 float d_12[3], d_23[3];
709 const float eps = FLT_EPSILON;
713 const float d = 1.0f /
sqrtf(f);
720 r_n2[0] = -n[2] * r_n1[1];
721 r_n2[1] = n[2] * r_n1[0];
722 r_n2[2] = n[0] * r_n1[1] - n[1] * r_n1[0];
726 r_n1[0] = (n[2] < 0.0f) ? -1.0f : 1.0f;
727 r_n1[1] = r_n1[2] = r_n2[0] = r_n2[2] = 0.0f;
740 out[0] = -
v[1] -
v[2];
746 out[1] = -
v[0] -
v[2];
752 out[2] = -
v[0] -
v[1];
772 r[0] = co * p[0] - si * p[1];
773 r[1] = si * p[0] + co * p[1];
787 out[0] = ((costheta + (1 - costheta) * axis[0] * axis[0]) * p[0]) +
788 (((1 - costheta) * axis[0] * axis[1] - axis[2] * sintheta) * p[1]) +
789 (((1 - costheta) * axis[0] * axis[2] + axis[1] * sintheta) * p[2]);
791 out[1] = (((1 - costheta) * axis[0] * axis[1] + axis[2] * sintheta) * p[0]) +
792 ((costheta + (1 - costheta) * axis[1] * axis[1]) * p[1]) +
793 (((1 - costheta) * axis[1] * axis[2] - axis[0] * sintheta) * p[2]);
795 out[2] = (((1 - costheta) * axis[0] * axis[2] - axis[1] * sintheta) * p[0]) +
796 (((1 - costheta) * axis[1] * axis[2] + axis[0] * sintheta) * p[1]) +
797 ((costheta + (1 - costheta) * axis[2] * axis[2]) * p[2]);
815 printf(
"%s: %.8f %.8f\n",
str,
v[0],
v[1]);
820 printf(
"%s: %.8f %.8f %.8f\n",
str,
v[0],
v[1],
v[2]);
825 printf(
"%s: %.8f %.8f %.8f %.8f\n",
str,
v[0],
v[1],
v[2],
v[3]);
831 printf(
"%s[%d]:",
str, n);
833 printf(
" %.8f",
v[i++]);
840 if (
min[0] > vec[0]) {
843 if (
min[1] > vec[1]) {
846 if (
min[2] > vec[2]) {
849 if (
min[3] > vec[3]) {
853 if (
max[0] < vec[0]) {
856 if (
max[1] < vec[1]) {
859 if (
max[2] < vec[2]) {
862 if (
max[3] < vec[3]) {
869 if (
min[0] > vec[0]) {
872 if (
min[1] > vec[1]) {
875 if (
min[2] > vec[2]) {
879 if (
max[0] < vec[0]) {
882 if (
max[1] < vec[1]) {
885 if (
max[2] < vec[2]) {
892 if (
min[0] > vec[0]) {
895 if (
min[1] > vec[1]) {
899 if (
max[0] < vec[0]) {
902 if (
max[1] < vec[1]) {
909 const float (*vec_arr)[3],
912 while (var_arr_num--) {
944 #define SWAP_AXIS(a, b) \
946 SWAP(float, v[a], v[b]); \
947 SWAP(int, r_axis_order[a], r_axis_order[b]); \
978 double dot_vn_vn(
const float *array_src_a,
const float *array_src_b,
const int size)
981 const float *array_pt_a = array_src_a + (
size - 1);
982 const float *array_pt_b = array_src_b + (
size - 1);
985 d += (
double)(*(array_pt_a--) * *(array_pt_b--));
993 const float *array_pt =
array + (
size - 1);
996 d +=
sqr_db((
double)(*(array_pt--)));
1023 int *array_pt = array_tar + (
size - 1);
1024 int j = start + (
size - 1);
1027 *(array_pt--) = j--;
1033 uint *array_pt = array_tar + (
size - 1);
1037 *(array_pt--) = j--;
1043 float *array_pt = array_tar + (
size - 1);
1046 *(array_pt--) = start + step * (
float)(i);
1052 float *array_pt = array_tar + (
size - 1);
1055 *(array_pt--) *= -1.0f;
1061 float *tar = array_tar + (
size - 1);
1062 const float *
src = array_src + (
size - 1);
1065 *(tar--) = -*(
src--);
1071 float *tar = array_tar + (
size - 1);
1072 const float *
src = array_src + (
size - 1);
1075 *(tar--) *= *(
src--);
1080 const float *array_src_a,
1081 const float *array_src_b,
1084 float *tar = array_tar + (
size - 1);
1085 const float *src_a = array_src_a + (
size - 1);
1086 const float *src_b = array_src_b + (
size - 1);
1089 *(tar--) = *(src_a--) * *(src_b--);
1095 float *array_pt = array_tar + (
size - 1);
1104 float *tar = array_tar + (
size - 1);
1105 const float *
src = array_src + (
size - 1);
1108 *(tar--) = *(
src--) * f;
1114 float *tar = array_tar + (
size - 1);
1115 const float *
src = array_src + (
size - 1);
1118 *(tar--) += *(
src--);
1123 const float *array_src_a,
1124 const float *array_src_b,
1127 float *tar = array_tar + (
size - 1);
1128 const float *src_a = array_src_a + (
size - 1);
1129 const float *src_b = array_src_b + (
size - 1);
1132 *(tar--) = *(src_a--) + *(src_b--);
1136 void madd_vn_vn(
float *array_tar,
const float *array_src,
const float f,
const int size)
1138 float *tar = array_tar + (
size - 1);
1139 const float *
src = array_src + (
size - 1);
1142 *(tar--) += *(
src--) * f;
1147 const float *array_src_a,
1148 const float *array_src_b,
1152 float *tar = array_tar + (
size - 1);
1153 const float *src_a = array_src_a + (
size - 1);
1154 const float *src_b = array_src_b + (
size - 1);
1157 *(tar--) = *(src_a--) + (*(src_b--) * f);
1163 float *tar = array_tar + (
size - 1);
1164 const float *
src = array_src + (
size - 1);
1167 *(tar--) -= *(
src--);
1172 const float *array_src_a,
1173 const float *array_src_b,
1176 float *tar = array_tar + (
size - 1);
1177 const float *src_a = array_src_a + (
size - 1);
1178 const float *src_b = array_src_b + (
size - 1);
1181 *(tar--) = *(src_a--) - *(src_b--);
1185 void msub_vn_vn(
float *array_tar,
const float *array_src,
const float f,
const int size)
1187 float *tar = array_tar + (
size - 1);
1188 const float *
src = array_src + (
size - 1);
1191 *(tar--) -= *(
src--) * f;
1196 const float *array_src_a,
1197 const float *array_src_b,
1201 float *tar = array_tar + (
size - 1);
1202 const float *src_a = array_src_a + (
size - 1);
1203 const float *src_b = array_src_b + (
size - 1);
1206 *(tar--) = *(src_a--) - (*(src_b--) * f);
1212 const float s = 1.0f -
t;
1213 float *tar = array_tar + (
size - 1);
1214 const float *
src = array_src + (
size - 1);
1217 *(tar) = (s * *(tar)) + (
t * *(
src));
1225 int *tar = array_tar + (
size - 1);
1234 short *tar = array_tar + (
size - 1);
1261 float *tar = array_tar + (
size - 1);
1274 double *tar = array_tar + (
size - 1);
1275 const double *
src = array_src + (
size - 1);
1278 *(tar--) += *(
src--);
1283 const double *array_src_a,
1284 const double *array_src_b,
1287 double *tar = array_tar + (
size - 1);
1288 const double *src_a = array_src_a + (
size - 1);
1289 const double *src_b = array_src_b + (
size - 1);
1292 *(tar--) = *(src_a--) + *(src_b--);
1298 double *array_pt = array_tar + (
size - 1);
1307 const double s = 1.0f -
t;
1309 target[0] = s *
a[0] +
t *
b[0];
1310 target[1] = s *
a[1] +
t *
b[1];
1311 target[2] = s *
a[2] +
t *
b[2];
1316 const double s = 1.0f -
t;
1318 target[0] = s *
a[0] +
t *
b[0];
1319 target[1] = s *
a[1] +
t *
b[1];
typedef float(TangentPoint)[2]
#define BLI_ASSERT_UNIT_V3_DB(v)
#define BLI_ASSERT_UNIT_V2(v)
MINLINE float saasin(float fac)
#define BLI_ASSERT_UNIT_V3(v)
MINLINE int axis_dominant_v3_single(const float vec[3])
void interp_dot_slerp(float t, float cosom, float r_w[2])
MINLINE bool is_zero_v3_db(const double a[3]) ATTR_WARN_UNUSED_RESULT
MINLINE float len_squared_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT
MINLINE float len_squared_v3(const float v[3]) ATTR_WARN_UNUSED_RESULT
MINLINE float len_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void madd_v3_v3fl(float r[3], const float a[3], float f)
MINLINE void madd_v2_v2v2fl(float r[2], const float a[2], const float b[2], float f)
MINLINE void madd_v3_v3v3db_db(double r[3], const double a[3], const double b[3], double f)
MINLINE float normalize_v3(float r[3])
MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void mul_v3_fl(float r[3], float f)
MINLINE void mul_v3_v3db_db(double r[3], const double a[3], double f)
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void negate_v3_v3(float r[3], const float a[3])
MINLINE double dot_v3v3_db(const double a[3], const double b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE bool is_zero_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT
MINLINE float dot_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE void negate_v2_v2(float r[2], const float a[2])
MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3])
MINLINE bool equals_v2v2(const float v1[2], const float v2[2]) ATTR_WARN_UNUSED_RESULT
MINLINE float normalize_v3_v3(float r[3], const float a[3])
MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
MINLINE void zero_v2(float r[2])
MINLINE float dot_v2v2(const float a[2], const float b[2]) ATTR_WARN_UNUSED_RESULT
MINLINE bool equals_v3v3(const float a[3], const float b[3]) ATTR_WARN_UNUSED_RESULT
MINLINE bool is_zero_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT
MINLINE void madd_v3_v3v3fl(float r[3], const float a[3], const float b[3], float f)
MINLINE float len_v2v2(const float a[2], const float b[2]) ATTR_WARN_UNUSED_RESULT
MINLINE void zero_v3(float r[3])
MINLINE void mul_v3_v3fl(float r[3], const float a[3], float f)
MINLINE float normalize_v2(float r[2])
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
MINLINE void zero_v3_db(double r[3])
Strict compiler flags for areas of code we want to ensure don't do conversions without us knowing abo...
typedef double(DMatrix)[4][4]
_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 const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
ATTR_WARN_UNUSED_RESULT const BMVert * v2
ATTR_WARN_UNUSED_RESULT const BMVert * v
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
static void mul(btAlignedObjectArray< T > &items, const Q &value)
SIMD_FORCE_INLINE btScalar angle(const btVector3 &v) const
Return the angle between this and another vector.
SyclQueue void void * src
IconTextureDrawCall normal
void mid_v3_v3v3v3v3(float v[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3])
void copy_vn_fl(float *array_tar, const int size, const float val)
void project_v2_v2v2_normalized(float out[2], const float p[2], const float v_proj[2])
void madd_vn_vn(float *array_tar, const float *array_src, const float f, const int size)
void add_vn_vn_d(double *array_tar, const double *array_src, const int size)
void minmax_v3v3_v3_array(float r_min[3], float r_max[3], const float(*vec_arr)[3], int var_arr_num)
void negate_vn(float *array_tar, const int size)
void interp_v2_v2v2(float r[2], const float a[2], const float b[2], const float t)
void reflect_v3_v3v3_db(double out[3], const double v[3], const double normal[3])
void angle_quad_v3(float angles[4], const float v1[3], const float v2[3], const float v3[3], const float v4[3])
void axis_sort_v3(const float axis_values[3], int r_axis_order[3])
void interp_v3_v3v3(float r[3], const float a[3], const float b[3], const float t)
void sub_vn_vn(float *array_tar, const float *array_src, const int size)
void mul_vn_db(double *array_tar, const int size, const double f)
void minmax_v3v3_v3(float min[3], float max[3], const float vec[3])
void rotate_v2_v2fl(float r[2], const float p[2], const float angle)
void mul_vn_vn_fl(float *array_tar, const float *array_src, const int size, const float f)
void copy_vn_i(int *array_tar, const int size, const int val)
void print_v3(const char *str, const float v[3])
void madd_vn_vnvn(float *array_tar, const float *array_src_a, const float *array_src_b, const float f, const int size)
bool is_finite_v2(const float v[2])
void project_plane_normalized_v2_v2v2(float out[2], const float p[2], const float v_plane[2])
void interp_v4_v4v4_char(char target[4], const char a[4], const char b[4], const float t)
float angle_on_axis_v3v3_v3(const float v1[3], const float v2[3], const float axis[3])
float normalize_vn(float *array_tar, const int size)
float angle_v3v3v3(const float a[3], const float b[3], const float c[3])
void reflect_v3_v3v3(float out[3], const float v[3], const float normal[3])
bool is_finite_v4(const float v[4])
void interp_v3_v3v3v3(float p[3], const float v1[3], const float v2[3], const float v3[3], const float w[3])
float angle_normalized_v3v3(const float v1[3], const float v2[3])
void interp_v4_v4v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4])
void sub_vn_vnvn(float *array_tar, const float *array_src_a, const float *array_src_b, const int size)
void interp_v3_v3v3_db(double target[3], const double a[3], const double b[3], const double t)
double dot_vn_vn(const float *array_src_a, const float *array_src_b, const int size)
void angle_tri_v3(float angles[3], const float v1[3], const float v2[3], const float v3[3])
void add_vn_vnvn(float *array_tar, const float *array_src_a, const float *array_src_b, const int size)
void interp_v3_v3v3_char(char target[3], const char a[3], const char b[3], const float t)
void mid_v3_angle_weighted(float r[3])
float angle_v3v3(const float a[3], const float b[3])
void interp_v4_v4v4(float r[4], const float a[4], const float b[4], const float t)
void mid_v2_v2v2v2(float v[2], const float v1[2], const float v2[2], const float v3[2])
void project_v3_plane(float out[3], const float plane_no[3], const float plane_co[3])
float cos_v3v3v3(const float p1[3], const float p2[3], const float p3[3])
void add_vn_vn(float *array_tar, const float *array_src, const int size)
void project_v3_v3v3_normalized(float out[3], const float p[3], const float v_proj[3])
void interp_v2_v2v2v2(float r[2], const float a[2], const float b[2], const float c[2], const float t[3])
void print_v4(const char *str, const float v[4])
bool interp_v3_v3v3_slerp(float target[3], const float a[3], const float b[3], const float t)
float normalize_vn_vn(float *array_tar, const float *array_src, const int size)
bool is_finite_v3(const float v[3])
void negate_vn_vn(float *array_tar, const float *array_src, const int size)
void project_v3_v3v3(float out[3], const float p[3], const float v_proj[3])
void minmax_v2v2_v2(float min[2], float max[2], const float vec[2])
void project_plane_v3_v3v3(float out[3], const float p[3], const float v_plane[3])
void interp_v3_v3v3_slerp_safe(float target[3], const float a[3], const float b[3], const float t)
void copy_vn_short(short *array_tar, const int size, const short val)
void project_plane_normalized_v3_v3v3(float out[3], const float p[3], const float v_plane[3])
void msub_vn_vnvn(float *array_tar, const float *array_src_a, const float *array_src_b, const float f, const int size)
void interp_v3_v3v3_uchar(uchar target[3], const uchar a[3], const uchar b[3], const float t)
void print_v2(const char *str, const float v[2])
void mid_v3_v3v3_angle_weighted(float r[3], const float a[3], const float b[3])
void rotate_v3_v3v3fl(float r[3], const float p[3], const float axis[3], const float angle)
void ortho_v3_v3(float out[3], const float v[3])
float angle_v2v2(const float a[2], const float b[2])
void interp_v2_v2v2_db(double target[2], const double a[2], const double b[2], const double t)
void interp_v4_v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float w[3])
void flip_v2_v2v2(float v[2], const float v1[2], const float v2[2])
float cos_v2v2v2(const float p1[2], const float p2[2], const float p3[2])
void print_vn(const char *str, const float v[], const int n)
void interp_v3_v3v3v3v3(float p[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3], const float w[4])
void minmax_v4v4_v4(float min[4], float max[4], const float vec[4])
void dist_ensure_v2_v2fl(float v1[2], const float v2[2], const float dist)
void mid_v2_v2v2(float r[2], const float a[2], const float b[2])
void range_vn_u(uint *array_tar, const int size, const uint start)
void interp_v4_v4v4_uchar(uchar target[4], const uchar a[4], const uchar b[4], const float t)
void ortho_v2_v2(float out[2], const float v[2])
void mul_vn_vnvn(float *array_tar, const float *array_src_a, const float *array_src_b, const int size)
void interp_v2_v2v2_slerp_safe(float target[2], const float a[2], const float b[2], const float t)
void angle_poly_v3(float *angles, const float *verts[3], int len)
void range_vn_fl(float *array_tar, const int size, const float start, const float step)
void interp_vn_vn(float *array_tar, const float *array_src, const float t, const int size)
double len_squared_vn(const float *array, const int size)
void mid_v3_v3v3(float r[3], const float a[3], const float b[3])
void ortho_basis_v3v3_v3(float r_n1[3], float r_n2[3], const float n[3])
void mul_vn_vn(float *array_tar, const float *array_src, const int size)
void msub_vn_vn(float *array_tar, const float *array_src, const float f, const int size)
void add_vn_vnvn_d(double *array_tar, const double *array_src_a, const double *array_src_b, const int size)
void mid_v3_v3_array(float r[3], const float(*vec_arr)[3], const uint vec_arr_num)
void range_vn_i(int *array_tar, const int size, const int start)
void flip_v4_v4v4(float v[4], const float v1[4], const float v2[4])
void flip_v3_v3v3(float v[3], const float v1[3], const float v2[3])
void project_plane_v2_v2v2(float out[2], const float p[2], const float v_plane[2])
float angle_v2v2v2(const float a[2], const float b[2], const float c[2])
float angle_normalized_v2v2(const float a[2], const float b[2])
bool interp_v2_v2v2_slerp(float target[2], const float a[2], const float b[2], const float t)
void dist_ensure_v3_v3fl(float v1[3], const float v2[3], const float dist)
void project_v3_v3v3_db(double out[3], const double p[3], const double v_proj[3])
float angle_on_axis_v3v3v3_v3(const float v1[3], const float v2[3], const float v3[3], const float axis[3])
void mul_vn_fl(float *array_tar, const int size, const float f)
void copy_vn_uchar(uchar *array_tar, const int size, const uchar val)
void interp_v3_v3v3v3_uv(float p[3], const float v1[3], const float v2[3], const float v3[3], const float uv[2])
float angle_signed_on_axis_v3v3v3_v3(const float v1[3], const float v2[3], const float v3[3], const float axis[3])
void rotate_normalized_v3_v3v3fl(float out[3], const float p[3], const float axis[3], const float angle)
MINLINE double sqr_db(double f)
float angle_signed_on_axis_v3v3_v3(const float v1[3], const float v2[3], const float axis[3])
void mid_v3_v3v3v3(float v[3], const float v1[3], const float v2[3], const float v3[3])
void interp_v2_v2v2v2v2_cubic(float p[2], const float v1[2], const float v2[2], const float v3[2], const float v4[2], const float u)
void project_v2_v2v2(float out[2], const float p[2], const float v_proj[2])
void bisect_v3_v3v3v3(float r[3], const float a[3], const float b[3], const float c[3])
void copy_vn_ushort(ushort *array_tar, const int size, const ushort val)
float angle_signed_v2v2(const float v1[2], const float v2[2])
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)