# HG changeset patch # User rafavzqz # Date 1438079082 0 # Node ID 1411b4cf3c811b77e49532ebee4a434f784f605f # Parent fc325d64210b3b11b543fdf05a70e674e314e704 Check that the curves formed a closed surface diff -r fc325d64210b -r 1411b4cf3c81 extra/nurbs/inst/nrbcoons.m --- a/extra/nurbs/inst/nrbcoons.m Wed Jul 08 13:58:00 2015 +0000 +++ b/extra/nurbs/inst/nrbcoons.m Tue Jul 28 10:24:42 2015 +0000 @@ -89,6 +89,15 @@ error('Incorrect number of input arguments'); end +if (max (abs (nrbeval (u1, u1.knots(1)) - nrbeval (v1, v1.knots(1)))) > 1e-10 || ... + max (abs (nrbeval (u1, u1.knots(end)) - nrbeval (v2, v2.knots(1)))) > 1e-10 || ... + max (abs (nrbeval (u2, u2.knots(1)) - nrbeval (v1, v1.knots(end)))) > 1e-10 || ... + max (abs (nrbeval (u2, u2.knots(end)) - nrbeval (v2, v2.knots(end)))) > 1e-10) + error ('The four curves do not define a closed boundary') +end + + + r1 = nrbruled(u1, u2); r2 = nrbtransp(nrbruled(v1, v2)); t = nrb4surf(u1.coefs(:,1), u1.coefs(:,end), u2.coefs(:,1), u2.coefs(:,end));