add positive_mod() utility function.
This commit is contained in:
@@ -222,6 +222,7 @@ MINLINE int power_of_2_max_i(int n);
|
||||
MINLINE int power_of_2_min_i(int n);
|
||||
|
||||
MINLINE int divide_round_i(int a, int b);
|
||||
MINLINE int positive_mod(int i, int n);
|
||||
|
||||
MINLINE float shell_angle_to_dist(const float angle);
|
||||
|
||||
|
@@ -153,6 +153,11 @@ MINLINE int divide_round_i(int a, int b)
|
||||
return (2 * a + b) / (2 * b);
|
||||
}
|
||||
|
||||
MINLINE int positive_mod(int i, int n)
|
||||
{
|
||||
return ((i = i % n) < 0) ? i + n : i;
|
||||
}
|
||||
|
||||
MINLINE unsigned int highest_order_bit_i(unsigned int n)
|
||||
{
|
||||
n |= (n >> 1);
|
||||
|
@@ -273,8 +273,7 @@ static void bridge_loop_pair(BMesh *bm,
|
||||
if (twist_offset != 0) {
|
||||
const int len_b = BM_edgeloop_length_get(el_store_b);
|
||||
ListBase *lb_b = BM_edgeloop_verts_get(el_store_b);
|
||||
const int offset = twist_offset % len_b;
|
||||
LinkData *el_b = BLI_rfindlink(lb_b, (offset < 0) ? (offset + len_b) : offset);
|
||||
LinkData *el_b = BLI_rfindlink(lb_b, positive_mod(twist_offset, len_b));
|
||||
BLI_rotatelist(lb_b, el_b);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user