forked from bartvdbraak/blender
Code cleanup: use consistent arg order for math api poly funcs
This commit is contained in:
parent
f26492d3e8
commit
20a4e33837
@ -904,7 +904,7 @@ float BKE_mesh_calc_poly_area(MPoly *mpoly, MLoop *loopstart,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* finally calculate the area */
|
/* finally calculate the area */
|
||||||
area = area_poly_v3(mpoly->totloop, vertexcos, no);
|
area = area_poly_v3((const float (*)[3])vertexcos, (unsigned int)mpoly->totloop, no);
|
||||||
|
|
||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
|
@ -55,11 +55,11 @@ MINLINE float area_tri_signed_v2(const float v1[2], const float v2[2], const flo
|
|||||||
float area_tri_v3(const float a[3], const float b[3], const float c[3]);
|
float area_tri_v3(const float a[3], const float b[3], const float c[3]);
|
||||||
float area_tri_signed_v3(const float v1[3], const float v2[3], const float v3[3], const float normal[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_quad_v3(const float a[3], const float b[3], const float c[3], const float d[3]);
|
||||||
float area_poly_v3(int nr, float verts[][3], const float normal[3]);
|
float area_poly_v3(const float verts[][3], unsigned int nr, const float normal[3]);
|
||||||
float area_poly_v2(int nr, float verts[][2]);
|
float area_poly_v2(const float verts[][2], unsigned int nr);
|
||||||
|
|
||||||
MINLINE float cross_tri_v2(const float v1[2], const float v2[2], const float v3[2]);
|
MINLINE float cross_tri_v2(const float v1[2], const float v2[2], const float v3[2]);
|
||||||
float cross_poly_v2(int nr, float verts[][2]);
|
float cross_poly_v2(const float verts[][2], unsigned int nr);
|
||||||
|
|
||||||
/********************************* Planes **********************************/
|
/********************************* Planes **********************************/
|
||||||
|
|
||||||
|
@ -134,12 +134,13 @@ float area_tri_signed_v3(const float v1[3], const float v2[3], const float v3[3]
|
|||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
|
|
||||||
float area_poly_v3(int nr, float verts[][3], const float normal[3])
|
float area_poly_v3(const float verts[][3], unsigned int nr, const float normal[3])
|
||||||
{
|
{
|
||||||
int a, px, py;
|
unsigned int a;
|
||||||
|
int px, py;
|
||||||
const float max = axis_dominant_v3_max(&px, &py, normal);
|
const float max = axis_dominant_v3_max(&px, &py, normal);
|
||||||
float area;
|
float area;
|
||||||
float *co_curr, *co_prev;
|
const float *co_curr, *co_prev;
|
||||||
|
|
||||||
/* The Trapezium Area Rule */
|
/* The Trapezium Area Rule */
|
||||||
co_prev = verts[nr - 1];
|
co_prev = verts[nr - 1];
|
||||||
@ -154,9 +155,9 @@ float area_poly_v3(int nr, float verts[][3], const float normal[3])
|
|||||||
return fabsf(0.5f * area / max);
|
return fabsf(0.5f * area / max);
|
||||||
}
|
}
|
||||||
|
|
||||||
float cross_poly_v2(int nr, float verts[][2])
|
float cross_poly_v2(const float verts[][2], unsigned int nr)
|
||||||
{
|
{
|
||||||
int a;
|
unsigned int a;
|
||||||
float cross;
|
float cross;
|
||||||
const float *co_curr, *co_prev;
|
const float *co_curr, *co_prev;
|
||||||
|
|
||||||
@ -173,9 +174,9 @@ float cross_poly_v2(int nr, float verts[][2])
|
|||||||
return cross;
|
return cross;
|
||||||
}
|
}
|
||||||
|
|
||||||
float area_poly_v2(int nr, float verts[][2])
|
float area_poly_v2(const float verts[][2], unsigned int nr)
|
||||||
{
|
{
|
||||||
return fabsf(0.5f * cross_poly_v2(nr, verts));
|
return fabsf(0.5f * cross_poly_v2(verts, nr));
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************* Planes **********************************/
|
/********************************* Planes **********************************/
|
||||||
|
@ -400,7 +400,7 @@ void BLI_polyfill_calc_ex(
|
|||||||
pf.tris_tot = 0;
|
pf.tris_tot = 0;
|
||||||
|
|
||||||
if ((coords_tot < 3) ||
|
if ((coords_tot < 3) ||
|
||||||
cross_poly_v2((int)coords_tot, (float(*)[2])coords) > 0.0f)
|
cross_poly_v2(coords, coords_tot) > 0.0f)
|
||||||
{
|
{
|
||||||
for (i = 0; i < coords_tot; i++) {
|
for (i = 0; i < coords_tot; i++) {
|
||||||
indices[i] = i;
|
indices[i] = i;
|
||||||
|
@ -248,7 +248,7 @@ float BM_face_calc_area(BMFace *f)
|
|||||||
else {
|
else {
|
||||||
float normal[3];
|
float normal[3];
|
||||||
calc_poly_normal(normal, verts, f->len);
|
calc_poly_normal(normal, verts, f->len);
|
||||||
area = area_poly_v3(f->len, verts, normal);
|
area = area_poly_v3((const float (*)[3])verts, f->len, normal);
|
||||||
}
|
}
|
||||||
|
|
||||||
return area;
|
return area;
|
||||||
@ -1061,7 +1061,12 @@ void BM_face_legal_splits(BMFace *f, BMLoop *(*loops)[2], int len)
|
|||||||
for (i = 0, l = BM_FACE_FIRST_LOOP(f); i < f->len; i++, l = l->next) {
|
for (i = 0, l = BM_FACE_FIRST_LOOP(f); i < f->len; i++, l = l->next) {
|
||||||
BM_elem_index_set(l, i); /* set_loop */
|
BM_elem_index_set(l, i); /* set_loop */
|
||||||
mul_v2_m3v3(projverts[i], axis_mat, l->v->co);
|
mul_v2_m3v3(projverts[i], axis_mat, l->v->co);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* first test for completely convex face */
|
||||||
|
|
||||||
|
|
||||||
|
for (i = 0, l = BM_FACE_FIRST_LOOP(f); i < f->len; i++, l = l->next) {
|
||||||
out[0] = max_ff(out[0], projverts[i][0]);
|
out[0] = max_ff(out[0], projverts[i][0]);
|
||||||
out[1] = max_ff(out[1], projverts[i][1]);
|
out[1] = max_ff(out[1], projverts[i][1]);
|
||||||
}
|
}
|
||||||
|
@ -205,7 +205,7 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
|
|||||||
uv_poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, efa->len);
|
uv_poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, efa->len);
|
||||||
|
|
||||||
totarea += BM_face_calc_area(efa);
|
totarea += BM_face_calc_area(efa);
|
||||||
totuvarea += area_poly_v2(efa->len, tf_uv);
|
totuvarea += area_poly_v2((const float (*)[2])tf_uv, efa->len);
|
||||||
|
|
||||||
if (uvedit_face_visible_test(scene, ima, efa, tf)) {
|
if (uvedit_face_visible_test(scene, ima, efa, tf)) {
|
||||||
BM_elem_flag_enable(efa, BM_ELEM_TAG);
|
BM_elem_flag_enable(efa, BM_ELEM_TAG);
|
||||||
@ -248,7 +248,7 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe
|
|||||||
|
|
||||||
uv_poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, efa->len);
|
uv_poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, efa->len);
|
||||||
|
|
||||||
uvarea = area_poly_v2(efa->len, tf_uv) / totuvarea;
|
uvarea = area_poly_v2((const float (*)[2])tf_uv, efa->len) / totuvarea;
|
||||||
|
|
||||||
if (area < FLT_EPSILON || uvarea < FLT_EPSILON)
|
if (area < FLT_EPSILON || uvarea < FLT_EPSILON)
|
||||||
areadiff = 1.0f;
|
areadiff = 1.0f;
|
||||||
|
Loading…
Reference in New Issue
Block a user