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 power_of_2_min_i(int n);
|
||||||
|
|
||||||
MINLINE int divide_round_i(int a, int b);
|
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);
|
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);
|
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)
|
MINLINE unsigned int highest_order_bit_i(unsigned int n)
|
||||||
{
|
{
|
||||||
n |= (n >> 1);
|
n |= (n >> 1);
|
||||||
|
@@ -273,8 +273,7 @@ static void bridge_loop_pair(BMesh *bm,
|
|||||||
if (twist_offset != 0) {
|
if (twist_offset != 0) {
|
||||||
const int len_b = BM_edgeloop_length_get(el_store_b);
|
const int len_b = BM_edgeloop_length_get(el_store_b);
|
||||||
ListBase *lb_b = BM_edgeloop_verts_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, positive_mod(twist_offset, len_b));
|
||||||
LinkData *el_b = BLI_rfindlink(lb_b, (offset < 0) ? (offset + len_b) : offset);
|
|
||||||
BLI_rotatelist(lb_b, el_b);
|
BLI_rotatelist(lb_b, el_b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user