mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-08-06 12:36:34 +02:00
arc_copies was creating an extra copy for 360 deg angles
This commit is contained in:
@@ -1238,13 +1238,13 @@ module arc_copies(
|
|||||||
sa=0, ea=360,
|
sa=0, ea=360,
|
||||||
rot=true
|
rot=true
|
||||||
) {
|
) {
|
||||||
req_children($children);
|
req_children($children);
|
||||||
rx = get_radius(r1=rx, r=r, d1=dx, d=d, dflt=1);
|
rx = get_radius(r1=rx, r=r, d1=dx, d=d, dflt=1);
|
||||||
ry = get_radius(r1=ry, r=r, d1=dy, d=d, dflt=1);
|
ry = get_radius(r1=ry, r=r, d1=dy, d=d, dflt=1);
|
||||||
sa = posmod(sa, 360);
|
sa = posmod(sa, 360);
|
||||||
ea = posmod(ea, 360);
|
ea = posmod(ea, 360);
|
||||||
n = (abs(ea-sa)<0.01)?(n+1):n;
|
extra_n = (abs(ea-sa)<0.01)?1:0;
|
||||||
delt = (((ea<=sa)?360.0:0)+ea-sa)/(n-1);
|
delt = (((ea<=sa)?360.0:0)+ea-sa)/(n-1+extra_n);
|
||||||
for ($idx = [0:1:n-1]) {
|
for ($idx = [0:1:n-1]) {
|
||||||
$ang = sa + ($idx * delt);
|
$ang = sa + ($idx * delt);
|
||||||
$pos =[rx*cos($ang), ry*sin($ang), 0];
|
$pos =[rx*cos($ang), ry*sin($ang), 0];
|
||||||
@@ -1271,8 +1271,8 @@ function arc_copies(
|
|||||||
ry = get_radius(r1=ry, r=r, d1=dy, d=d, dflt=1),
|
ry = get_radius(r1=ry, r=r, d1=dy, d=d, dflt=1),
|
||||||
sa = posmod(sa, 360),
|
sa = posmod(sa, 360),
|
||||||
ea = posmod(ea, 360),
|
ea = posmod(ea, 360),
|
||||||
n = (abs(ea-sa)<0.01)?(n+1):n,
|
extra_n = (abs(ea-sa)<0.01)?1:0,
|
||||||
delt = (((ea<=sa)?360.0:0)+ea-sa)/(n-1),
|
delt = (((ea<=sa)?360.0:0)+ea-sa)/(n-1+extra_n),
|
||||||
mats = [
|
mats = [
|
||||||
for (i = [0:1:n-1])
|
for (i = [0:1:n-1])
|
||||||
let(
|
let(
|
||||||
|
Reference in New Issue
Block a user