chiark / gitweb /
mesh: introduce is_extt (nfc)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 7 Nov 2017 16:10:48 +0000 (16:10 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 7 Nov 2017 16:10:48 +0000 (16:10 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
meshscad

index c8924b7ab6edf438137ef88cd7d9ccd6c59ef991..cc5d44d8be361d9e8ee61b3dae2001899775fe51 100755 (executable)
--- a/meshscad
+++ b/meshscad
@@ -39,14 +39,15 @@ def make_moebius(objname):
   extents = [ ScadObject() for w in range(0,nw) ] # along extents
   travers = [ ScadObject() for v in range(0,nv) ] # along traverses
 
-  def qc(v, w, sigmas, is_trav):
+  def qc(v, w, sigmas, is_extt, is_trav):
     #print(' QCv,w,T',v,w,is_trav, file=sys.stderr)
     for ab in 0,1:
-      p, norm, extt, trav = m.details(v + ab*(not is_trav), w + ab*is_trav)
+      p, norm, extt, trav = m.details(v + ab*is_extt, w + ab*is_trav)
       for sx in 0,1:
         sigma = sigmas[sx]
         if is_trav: acrs = extt
-        else: acrs = trav
+        elif is_extt: acrs = trav
+        else: pass
         delta = norm * sin(sigma) + acrs * cos(sigma)
         r = p + wire/nomsize * delta
         #print(' RW,ab,sx',ab,sx,
@@ -66,9 +67,9 @@ def make_moebius(objname):
         sigmas = [ (s + sx + 0.5)/ns * tau for sx in 0,1 ]
         #print('VWS',v,w,s, sigmas, file=sys.stderr)
         if not w % each_w:
-          extents[w % nw].quad([ cnr for cnr in qc(v,w,sigmas,False) ])
+          extents[w % nw].quad([ cnr for cnr in qc(v,w,sigmas,True,False) ])
         if not v % each_v and w < nw:
-          travers[v].quad([ cnr for cnr in qc(v,w,sigmas,True) ])
+          travers[v].quad([ cnr for cnr in qc(v,w,sigmas,False,True) ])
   for w in range(0, nw):
     print('// extent w=', w)
     extents[w].writeout_core(nomsize)