Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenlib/BLI_math_geom.h')
-rw-r--r--source/blender/blenlib/BLI_math_geom.h49
1 files changed, 26 insertions, 23 deletions
diff --git a/source/blender/blenlib/BLI_math_geom.h b/source/blender/blenlib/BLI_math_geom.h
index 213f5a029b0..a9a55b10a9e 100644
--- a/source/blender/blenlib/BLI_math_geom.h
+++ b/source/blender/blenlib/BLI_math_geom.h
@@ -40,22 +40,25 @@ extern "C" {
/********************************** Polygons *********************************/
-float normal_tri_v3(float r[3], const float a[3], const float b[3], const float c[3]);
+float normal_tri_v3(float n[3], const float v1[3], const float v2[3], const float v3[3]);
float normal_quad_v3(
- float r[3], const float a[3], const float b[3], const float c[3], const float d[3]);
-float normal_poly_v3(float r[3], const float verts[][3], unsigned int nr);
+ float n[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3]);
+float normal_poly_v3(float n[3], const float verts[][3], unsigned int nr);
-MINLINE float area_tri_v2(const float a[2], const float b[2], const float c[2]);
-MINLINE float area_squared_tri_v2(const float a[2], const float b[2], const float c[2]);
+MINLINE float area_tri_v2(const float v1[2], const float v2[2], const float v3[2]);
+MINLINE float area_squared_tri_v2(const float v1[2], const float v2[2], const float v3[2]);
MINLINE float area_tri_signed_v2(const float v1[2], const float v2[2], const float v3[2]);
-float area_tri_v3(const float a[3], const float b[3], const float c[3]);
-float area_squared_tri_v3(const float a[3], const float b[3], const float c[3]);
+float area_tri_v3(const float v1[3], const float v2[3], const float v3[3]);
+float area_squared_tri_v3(const float v1[3], const float v2[3], const float v3[3]);
float area_tri_signed_v3(const float v1[3],
const float v2[3],
const float v3[3],
const float normal[3]);
-float area_quad_v3(const float a[3], const float b[3], const float c[3], const float d[3]);
-float area_squared_quad_v3(const float a[3], const float b[3], const float c[3], const float d[3]);
+float area_quad_v3(const float v1[3], const float v2[3], const float v3[3], const float v4[3]);
+float area_squared_quad_v3(const float v1[3],
+ const float v2[3],
+ const float v3[3],
+ const float v4[3]);
float area_poly_v3(const float verts[][3], unsigned int nr);
float area_poly_v2(const float verts[][2], unsigned int nr);
float area_squared_poly_v3(const float verts[][3], unsigned int nr);
@@ -212,9 +215,9 @@ void closest_to_plane_v3(float r_close[3], const float plane[4], const float pt[
void closest_to_plane3_normalized_v3(float r_close[3], const float plane[3], const float pt[3]);
void closest_to_plane3_v3(float r_close[3], const float plane[3], const float pt[3]);
-/* Set 'r' to the point in triangle (t1, t2, t3) closest to point 'p' */
+/* Set 'r' to the point in triangle (v1, v2, v3) closest to point 'p' */
void closest_on_tri_to_point_v3(
- float r[3], const float p[3], const float t1[3], const float t2[3], const float t3[3]);
+ float r[3], const float p[3], const float v1[3], const float v2[3], const float v3[3]);
float ray_point_factor_v3_ex(const float p[3],
const float ray_origin[3],
@@ -256,7 +259,7 @@ void limit_dist_v3(float v1[3], float v2[3], const float dist);
#define ISECT_LINE_LINE_EXACT 1
#define ISECT_LINE_LINE_CROSS 2
-int isect_seg_seg_v2(const float a1[2], const float a2[2], const float b1[2], const float b2[2]);
+int isect_seg_seg_v2(const float v1[2], const float v2[2], const float v3[2], const float v4[2]);
void isect_seg_seg_v3(const float a0[3],
const float a1[3],
const float b0[3],
@@ -264,7 +267,7 @@ void isect_seg_seg_v3(const float a0[3],
float r_a[3],
float r_b[3]);
-int isect_seg_seg_v2_int(const int a1[2], const int a2[2], const int b1[2], const int b2[2]);
+int isect_seg_seg_v2_int(const int v1[2], const int v2[2], const int v3[2], const int v4[2]);
int isect_seg_seg_v2_point_ex(const float v0[2],
const float v1[2],
const float v2[2],
@@ -474,7 +477,7 @@ bool isect_point_poly_v2_int(const int pt[2],
const bool use_holes);
int isect_point_quad_v2(
- const float p[2], const float a[2], const float b[2], const float c[2], const float d[2]);
+ const float p[2], const float v1[2], const float v2[2], const float v3[2], const float v4[2]);
int isect_point_tri_v2(const float pt[2], const float v1[2], const float v2[2], const float v3[2]);
bool isect_point_tri_v2_cw(const float pt[2],
@@ -551,13 +554,13 @@ bool point_in_slice_seg(float p[3], float l1[3], float l2[3]);
/****************************** Interpolation ********************************/
void interp_weights_tri_v3(
- float w[3], const float a[3], const float b[3], const float c[3], const float p[3]);
+ float w[3], const float v1[3], const float v2[3], const float v3[3], const float co[3]);
void interp_weights_quad_v3(float w[4],
- const float a[3],
- const float b[3],
- const float c[3],
- const float d[3],
- const float p[3]);
+ const float v1[3],
+ const float v2[3],
+ const float v3[3],
+ const float v4[3],
+ const float co[3]);
void interp_weights_poly_v3(float w[], float v[][3], const int n, const float co[3]);
void interp_weights_poly_v2(float w[], float v[][2], const int n, const float co[2]);
@@ -569,7 +572,7 @@ void interp_cubic_v3(float x[3],
const float v2[3],
const float t);
-int interp_sparse_array(float *array, const int list_size, const float invalid);
+int interp_sparse_array(float *array, const int list_size, const float skipval);
void transform_point_by_tri_v3(float pt_tar[3],
float const pt_src[3],
@@ -664,8 +667,8 @@ void planes_from_projmat(const float mat[4][4],
float right[4],
float top[4],
float bottom[4],
- float front[4],
- float back[4]);
+ float near[4],
+ float far[4]);
void projmat_dimensions(const float projmat[4][4],
float *r_left,