home *** CD-ROM | disk | FTP | other *** search
- rem name: splflip.cdl
-
- rem date: 121087 simon izraelevitz
-
- rem task: reverses direction of a selected spline.
-
- rem -----------------------------------------------
-
- clear
- array pt[75][3]
- array p[75][3]
-
- :indspl
- rem *** get spline to reverse
- set mask,5
- getent "Indicate spline", etype
- on (@key + 3) goto exit,exit,indspl,
- numseg = @intdat[11]
-
- i =-1
- :loop1
- i=i+1
- pt[i][0]= @fltdat[i*12 + 3]
- pt[i][1]= @fltdat[i*12 + 7]
- pt[i][2]= @fltdat[i*12 + 11]
-
- if (i == (numseg -1))
- goto lastpt
- goto loop1
-
- :lastpt
-
- a = @fltdat[(numseg -1)*12 + 0]
- b = @fltdat[(numseg -1)*12 + 1]
- c = @fltdat[(numseg -1)*12 + 2]
- d = @fltdat[(numseg -1)*12 + 3]
- pt[numseg][0] = a + b + c + d
- a = @fltdat[(numseg -1)*12 + 4]
- b = @fltdat[(numseg -1)*12 + 5]
- c = @fltdat[(numseg -1)*12 + 6]
- d = @fltdat[(numseg -1)*12 + 7]
- pt[numseg][1] = a + b + c + d
- a = @fltdat[(numseg -1)*12 + 8]
- b = @fltdat[(numseg -1)*12 + 9]
- c = @fltdat[(numseg -1)*12 + 10]
- d = @fltdat[(numseg -1)*12 + 11]
- pt[numseg][2] = a + b + c + d
-
- i =-1
- :loop2
- i=i+1
- p[numseg - i][0]= pt[i][0]
- p[numseg - i][1]= pt[i][1]
- p[numseg - i][2]= pt[i][2]
- if (i == numseg)
- goto delspl
- goto loop2
-
- :delspl
- delent
-
- spline P3NN,p,(numseg + 1),
- goto indspl
-
- :exit
- set mask
- exit