Fix T53398: Surface deform modifier says that convex polygons are concave for big faces
Dot-product for angle check need either to be divided by vectors magnitude or be calculated for normalized vectors.
This commit is contained in:
parent
076616898b
commit
a41fe949d8
|
@ -331,11 +331,13 @@ BLI_INLINE int isPolyValid(const float coords[][2], const unsigned int nr)
|
|||
|
||||
copy_v2_v2(prev_co, coords[nr - 1]);
|
||||
sub_v2_v2v2(prev_vec, prev_co, coords[nr - 2]);
|
||||
normalize_v2(prev_vec);
|
||||
|
||||
for (int i = 0; i < nr; i++) {
|
||||
sub_v2_v2v2(curr_vec, coords[i], prev_co);
|
||||
|
||||
if (len_squared_v2(curr_vec) < FLT_EPSILON) {
|
||||
const float curr_len = normalize_v2(curr_vec);
|
||||
if (curr_len < FLT_EPSILON) {
|
||||
return MOD_SDEF_BIND_RESULT_OVERLAP_ERR;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue