1 2(PUT '|SCIFS;indexes;$L;1| '|SPADreplace| 'QCAR) 3 4(SDEFUN |SCIFS;indexes;$L;1| 5 ((|me| $) ($ |List| (|List| (|NonNegativeInteger|)))) (QCAR |me|)) 6 7(PUT '|SCIFS;pointList;$L;2| '|SPADreplace| 'QCDR) 8 9(SDEFUN |SCIFS;pointList;$L;2| ((|me| $) ($ |List| PT)) (QCDR |me|)) 10 11(SDEFUN |SCIFS;meshIndex| 12 ((|i| |Integer|) (|j| |Integer|) (|c| |Integer|) 13 ($ |NonNegativeInteger|)) 14 (SPROG ((#1=#:G411 NIL)) 15 (PROG1 (LETT #1# (+ (* |j| |c|) |i|)) 16 (|check_subtype2| (>= #1# 0) '(|NonNegativeInteger|) 17 '(|Integer|) #1#)))) 18 19(SDEFUN |SCIFS;smesh;LB$;4| 20 ((|ptin| |List| (|List| PT)) (|clos| |Boolean|) ($ $)) 21 (SPROG 22 ((|j| #1=(|NonNegativeInteger|)) 23 (|in2| (|List| (|List| (|NonNegativeInteger|)))) 24 (|thisLine| (|List| (|NonNegativeInteger|))) (|i| #1#) 25 (|pt2| (|List| PT)) (#2=#:G422 NIL) (|p| NIL) (#3=#:G421 NIL) 26 (|lpt| NIL) (|colLength| (|NonNegativeInteger|)) 27 (|rowLength| (|NonNegativeInteger|))) 28 (SEQ (LETT |pt2| NIL) (LETT |in2| NIL) 29 (LETT |rowLength| (LENGTH |ptin|)) 30 (LETT |colLength| (LENGTH (|SPADfirst| |ptin|))) (LETT |j| 0) 31 (SEQ (LETT |lpt| NIL) (LETT #3# |ptin|) G190 32 (COND 33 ((OR (ATOM #3#) (PROGN (LETT |lpt| (CAR #3#)) NIL)) 34 (GO G191))) 35 (SEQ (LETT |i| 0) 36 (SEQ (LETT |p| NIL) (LETT #2# |lpt|) G190 37 (COND 38 ((OR (ATOM #2#) (PROGN (LETT |p| (CAR #2#)) NIL)) 39 (GO G191))) 40 (SEQ 41 (LETT |pt2| (SPADCALL |pt2| |p| (QREFELT $ 12))) 42 (COND 43 ((> |i| 0) 44 (COND 45 ((> |j| 0) 46 (SEQ 47 (LETT |thisLine| 48 (LIST 49 (|SCIFS;meshIndex| (- |i| 1) 50 (- |j| 1) |colLength| $) 51 (|SCIFS;meshIndex| |i| (- |j| 1) 52 |colLength| $) 53 (|SCIFS;meshIndex| |i| |j| 54 |colLength| $) 55 (|SCIFS;meshIndex| (- |i| 1) |j| 56 |colLength| $))) 57 (EXIT 58 (LETT |in2| 59 (SPADCALL |in2| |thisLine| 60 (QREFELT $ 14))))))))) 61 (EXIT (LETT |i| (+ |i| 1)))) 62 (LETT #2# (CDR #2#)) (GO G190) G191 (EXIT NIL)) 63 (COND 64 (|clos| 65 (COND 66 ((> |j| 0) 67 (SEQ 68 (LETT |thisLine| 69 (LIST 70 (|SCIFS;meshIndex| (- |i| 1) (- |j| 1) 71 |colLength| $) 72 (|SCIFS;meshIndex| 0 (- |j| 1) |colLength| 73 $) 74 (|SCIFS;meshIndex| 0 |j| |colLength| $) 75 (|SCIFS;meshIndex| (- |i| 1) |j| 76 |colLength| $))) 77 (EXIT 78 (LETT |in2| 79 (SPADCALL |in2| |thisLine| 80 (QREFELT $ 14))))))))) 81 (EXIT (LETT |j| (+ |j| 1)))) 82 (LETT #3# (CDR #3#)) (GO G190) G191 (EXIT NIL)) 83 (EXIT (CONS |in2| |pt2|))))) 84 85(SDEFUN |SCIFS;singleFace;L$;5| ((|ptin| |List| PT) ($ $)) 86 (SPROG 87 ((|in2| (|List| (|List| (|NonNegativeInteger|)))) (#1=#:G427 NIL) 88 (|i| NIL) (#2=#:G426 NIL) (|pt2| (|List| PT))) 89 (SEQ (LETT |pt2| |ptin|) 90 (LETT |in2| 91 (LIST 92 (PROGN 93 (LETT #2# NIL) 94 (SEQ (LETT |i| 0) (LETT #1# (- (LENGTH |ptin|) 1)) G190 95 (COND ((|greater_SI| |i| #1#) (GO G191))) 96 (SEQ (EXIT (LETT #2# (CONS |i| #2#)))) 97 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 98 (EXIT (NREVERSE #2#)))))) 99 (EXIT (CONS |in2| |pt2|))))) 100 101(SDEFUN |SCIFS;subdivide;2$;6| ((|me| $) ($ $)) 102 (SPROG 103 ((|indexSize| (|NonNegativeInteger|)) 104 (|in2| (|List| (|List| (|NonNegativeInteger|)))) 105 (|indexPos| (|NonNegativeInteger|)) 106 (|newFace| (|List| (|NonNegativeInteger|))) (#1=#:G444 NIL) (|j| NIL) 107 (#2=#:G443 NIL) (#3=#:G442 NIL) (|ptIx| NIL) (|pt2| (|List| PT)) 108 (|newPt| (PT)) (#4=#:G441 NIL) (#5=#:G440 NIL) (|faceIx| NIL) 109 (#6=#:G439 NIL) (|i| NIL) (#7=#:G438 NIL)) 110 (SEQ (LETT |indexSize| (LENGTH (QCDR |me|))) 111 (LETT |pt2| 112 (PROGN 113 (LETT #7# NIL) 114 (SEQ (LETT |i| 1) (LETT #6# |indexSize|) G190 115 (COND ((|greater_SI| |i| #6#) (GO G191))) 116 (SEQ 117 (EXIT 118 (LETT #7# 119 (CONS 120 (SPADCALL (QCDR |me|) |i| (QREFELT $ 20)) 121 #7#)))) 122 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 123 (EXIT (NREVERSE #7#))))) 124 (LETT |in2| NIL) 125 (SEQ (LETT |faceIx| NIL) (LETT #5# (QCAR |me|)) G190 126 (COND 127 ((OR (ATOM #5#) (PROGN (LETT |faceIx| (CAR #5#)) NIL)) 128 (GO G191))) 129 (SEQ (LETT |newPt| (SPADCALL 0 0 0 (QREFELT $ 21))) 130 (SEQ (LETT |ptIx| NIL) (LETT #4# |faceIx|) G190 131 (COND 132 ((OR (ATOM #4#) 133 (PROGN (LETT |ptIx| (CAR #4#)) NIL)) 134 (GO G191))) 135 (SEQ 136 (EXIT 137 (LETT |newPt| 138 (SPADCALL |newPt| 139 (SPADCALL |pt2| (+ |ptIx| 1) 140 (QREFELT $ 20)) 141 (QREFELT $ 22))))) 142 (LETT #4# (CDR #4#)) (GO G190) G191 (EXIT NIL)) 143 (LETT |newPt| 144 (SPADCALL 145 (|div_DF_I| 1.0 146 (SPADCALL |faceIx| (QREFELT $ 24))) 147 |newPt| (QREFELT $ 26))) 148 (LETT |pt2| (SPADCALL |pt2| |newPt| (QREFELT $ 12))) 149 (LETT |indexPos| 1) 150 (SEQ (LETT |ptIx| NIL) (LETT #3# |faceIx|) G190 151 (COND 152 ((OR (ATOM #3#) 153 (PROGN (LETT |ptIx| (CAR #3#)) NIL)) 154 (GO G191))) 155 (SEQ 156 (LETT |newFace| 157 (PROGN 158 (LETT #2# NIL) 159 (SEQ (LETT |j| 1) 160 (LETT #1# 161 (SPADCALL |faceIx| 162 (QREFELT $ 24))) 163 G190 164 (COND 165 ((|greater_SI| |j| #1#) (GO G191))) 166 (SEQ 167 (EXIT 168 (LETT #2# 169 (CONS 170 (SPADCALL |faceIx| |j| 171 (QREFELT $ 27)) 172 #2#)))) 173 (LETT |j| (|inc_SI| |j|)) (GO G190) 174 G191 (EXIT (NREVERSE #2#))))) 175 (SPADCALL |newFace| |indexPos| |indexSize| 176 (QREFELT $ 28)) 177 (LETT |indexPos| (+ |indexPos| 1)) 178 (EXIT 179 (LETT |in2| 180 (SPADCALL |in2| |newFace| 181 (QREFELT $ 14))))) 182 (LETT #3# (CDR #3#)) (GO G190) G191 (EXIT NIL)) 183 (EXIT (LETT |indexSize| (+ |indexSize| 1)))) 184 (LETT #5# (CDR #5#)) (GO G190) G191 (EXIT NIL)) 185 (EXIT (CONS |in2| |pt2|))))) 186 187(SDEFUN |SCIFS;sierpinskiDivide;$Nni$;7| 188 ((|me| $) (|level| |NonNegativeInteger|) ($ $)) 189 (SPROG 190 ((#1=#:G456 NIL) (#2=#:G459 NIL) (|indexSize| (|NonNegativeInteger|)) 191 (|in2| (|List| (|List| (|NonNegativeInteger|)))) 192 (|index2| (|NonNegativeInteger|)) (|index1| (|NonNegativeInteger|)) 193 (|newFace| (|List| #3=(|NonNegativeInteger|))) (|ix4| #3#) 194 (|ix3| #3#) (#4=#:G464 NIL) (|offset| NIL) (#5=#:G449 NIL) 195 (|pt2| (|List| PT)) (|newPt| (PT)) (|ix2| #3#) 196 (|ix1| (|NonNegativeInteger|)) (#6=#:G463 NIL) (#7=#:G462 NIL) 197 (|faceIx| NIL) (#8=#:G461 NIL) (|i| NIL) (#9=#:G460 NIL)) 198 (SEQ 199 (EXIT 200 (SEQ (LETT |indexSize| (LENGTH (QCDR |me|))) 201 (LETT |pt2| 202 (PROGN 203 (LETT #9# NIL) 204 (SEQ (LETT |i| 1) (LETT #8# |indexSize|) G190 205 (COND ((|greater_SI| |i| #8#) (GO G191))) 206 (SEQ 207 (EXIT 208 (LETT #9# 209 (CONS 210 (SPADCALL (QCDR |me|) |i| (QREFELT $ 20)) 211 #9#)))) 212 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 213 (EXIT (NREVERSE #9#))))) 214 (LETT |in2| NIL) 215 (SEQ (LETT |faceIx| NIL) (LETT #7# (QCAR |me|)) G190 216 (COND 217 ((OR (ATOM #7#) (PROGN (LETT |faceIx| (CAR #7#)) NIL)) 218 (GO G191))) 219 (SEQ 220 (SEQ (LETT |offset| 1) 221 (LETT #6# (SPADCALL |faceIx| (QREFELT $ 24))) G190 222 (COND ((|greater_SI| |offset| #6#) (GO G191))) 223 (SEQ (LETT |ix1| |offset|) 224 (LETT |ix2| (+ |offset| 1)) 225 (COND 226 ((> |ix2| (SPADCALL |faceIx| (QREFELT $ 24))) 227 (LETT |ix2| 1))) 228 (LETT |newPt| 229 (SPADCALL 230 (SPADCALL |pt2| 231 (+ 232 (SPADCALL |faceIx| |ix1| 233 (QREFELT $ 27)) 234 1) 235 (QREFELT $ 20)) 236 (SPADCALL |pt2| 237 (+ 238 (SPADCALL |faceIx| |ix2| 239 (QREFELT $ 27)) 240 1) 241 (QREFELT $ 20)) 242 (QREFELT $ 22))) 243 (LETT |newPt| 244 (SPADCALL (|mk_DF| 5 -1) |newPt| 245 (QREFELT $ 26))) 246 (EXIT 247 (LETT |pt2| 248 (SPADCALL |pt2| |newPt| 249 (QREFELT $ 12))))) 250 (LETT |offset| (|inc_SI| |offset|)) (GO G190) G191 251 (EXIT NIL)) 252 (LETT |index1| 253 (PROG1 254 (LETT #5# 255 (- (SPADCALL |faceIx| (QREFELT $ 24)) 1)) 256 (|check_subtype2| (>= #5# 0) 257 '(|NonNegativeInteger|) 258 '(|Integer|) #5#))) 259 (LETT |index2| 0) 260 (SEQ (LETT |offset| 1) 261 (LETT #4# (SPADCALL |faceIx| (QREFELT $ 24))) G190 262 (COND ((|greater_SI| |offset| #4#) (GO G191))) 263 (SEQ (LETT |ix3| (+ |indexSize| |index1|)) 264 (LETT |ix4| (+ |indexSize| |index2|)) 265 (LETT |newFace| 266 (LIST 267 (SPADCALL |faceIx| |offset| 268 (QREFELT $ 27)) 269 |ix3| |ix4|)) 270 (LETT |index1| (+ |index1| 1)) 271 (COND 272 ((EQL |index1| 273 (SPADCALL |faceIx| (QREFELT $ 24))) 274 (LETT |index1| 0))) 275 (LETT |index2| (+ |index2| 1)) 276 (COND 277 ((EQL |index2| 278 (SPADCALL |faceIx| (QREFELT $ 24))) 279 (LETT |index2| 0))) 280 (EXIT 281 (LETT |in2| 282 (SPADCALL |in2| |newFace| 283 (QREFELT $ 14))))) 284 (LETT |offset| (|inc_SI| |offset|)) (GO G190) G191 285 (EXIT NIL)) 286 (EXIT 287 (LETT |indexSize| 288 (+ |indexSize| 289 (SPADCALL |faceIx| (QREFELT $ 24)))))) 290 (LETT #7# (CDR #7#)) (GO G190) G191 (EXIT NIL)) 291 (COND 292 ((< |level| 1) 293 (PROGN (LETT #2# (CONS |in2| |pt2|)) (GO #10=#:G458)))) 294 (EXIT 295 (SPADCALL (CONS |in2| |pt2|) 296 (PROG1 (LETT #1# (- |level| 1)) 297 (|check_subtype2| (>= #1# 0) 298 '(|NonNegativeInteger|) 299 '(|Integer|) #1#)) 300 (QREFELT $ 30))))) 301 #10# (EXIT #2#)))) 302 303(SDEFUN |SCIFS;listBranches| 304 ((|functions| |List| 305 (|Record| (|:| |source| (|Mapping| PT (|DoubleFloat|))) 306 (|:| |ranges| (|List| (|Segment| (|DoubleFloat|)))) 307 (|:| |knots| (|List| (|DoubleFloat|))) 308 (|:| |points| (|List| PT)))) 309 ($ |List| (|List| PT))) 310 (SPROG ((|outList| (|List| (|List| PT))) (#1=#:G469 NIL) (|curve| NIL)) 311 (SEQ (LETT |outList| NIL) 312 (SEQ (LETT |curve| NIL) (LETT #1# |functions|) G190 313 (COND 314 ((OR (ATOM #1#) (PROGN (LETT |curve| (CAR #1#)) NIL)) 315 (GO G191))) 316 (SEQ 317 (EXIT 318 (LETT |outList| 319 (CONS (QVELT |curve| 3) |outList|)))) 320 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 321 (EXIT |outList|)))) 322 323(SDEFUN |SCIFS;orthog| ((|x| PT) (|y| PT) ($ PT)) 324 (SPROG ((|a| (|DoubleFloat|))) 325 (SEQ 326 (COND 327 ((SPADCALL (SPADCALL |x| |y| (QREFELT $ 36)) (QREFELT $ 31) 328 (QREFELT $ 37)) 329 (LETT |y| (QREFELT $ 35)))) 330 (COND 331 ((SPADCALL (SPADCALL |x| |y| (QREFELT $ 36)) (QREFELT $ 31) 332 (QREFELT $ 37)) 333 (LETT |y| 334 (COND 335 ((|less_DF| 336 (SPADCALL |x| (QREFELT $ 32) (QREFELT $ 36)) 337 (QREFELT $ 31)) 338 (QREFELT $ 32)) 339 ('T (QREFELT $ 33)))))) 340 (LETT |a| 341 (|minus_DF| 342 (|div_DF| (SPADCALL |x| |y| (QREFELT $ 38)) 343 (SPADCALL |x| |x| (QREFELT $ 38))))) 344 (EXIT 345 (SETELT $ 35 346 (SPADCALL (SPADCALL |a| |x| (QREFELT $ 26)) |y| 347 (QREFELT $ 22))))))) 348 349(SDEFUN |SCIFS;poTriad| 350 ((|pl| PT) (|po| PT) (|pr| PT) 351 ($ |Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT))) 352 (SPROG ((|n| (PT)) (|pol| (PT)) (|t| (PT))) 353 (SEQ 354 (LETT |t| 355 (SPADCALL (SPADCALL |pr| |pl| (QREFELT $ 39)) 356 (QREFELT $ 40))) 357 (LETT |pol| (SPADCALL |pl| |po| (QREFELT $ 39))) 358 (LETT |n| 359 (SPADCALL (|SCIFS;orthog| |t| |pol| $) (QREFELT $ 40))) 360 (EXIT (VECTOR |t| |n| (SPADCALL |t| |n| (QREFELT $ 41))))))) 361 362(SDEFUN |SCIFS;curveTriads| 363 ((|l| |List| PT) 364 ($ |List| (|Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT)))) 365 (SPROG 366 ((|endtriad| 367 #1=(|Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT))) 368 (|n| (PT)) (|t| (PT)) 369 (|x| (|Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT))) 370 (|begtriad| #1#) 371 (|midtriads| 372 (|List| (|Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT)))) 373 (#2=#:G487 NIL) (|pl| NIL) (#3=#:G488 NIL) (|po| NIL) (#4=#:G489 NIL) 374 (|pr| NIL) (#5=#:G486 NIL) (|triad| #1#) (|b| (PT)) 375 (|k| (|NonNegativeInteger|))) 376 (SEQ (LETT |k| (LENGTH |l|)) 377 (EXIT 378 (COND 379 ((< |k| 2) 380 (|error| "Need at least 2 points to specify a curve")) 381 (#6='T 382 (SEQ (SETELT $ 35 (QREFELT $ 34)) 383 (EXIT 384 (COND 385 ((EQL |k| 2) 386 (SEQ 387 (LETT |t| 388 (SPADCALL 389 (SPADCALL (SPADCALL |l| (QREFELT $ 42)) 390 (|SPADfirst| |l|) (QREFELT $ 39)) 391 (QREFELT $ 40))) 392 (LETT |n| 393 (SPADCALL 394 (SPADCALL |t| (QREFELT $ 32) (QREFELT $ 39)) 395 (QREFELT $ 40))) 396 (LETT |b| (SPADCALL |t| |n| (QREFELT $ 41))) 397 (LETT |triad| (VECTOR |t| |n| |b|)) 398 (EXIT (LIST |triad| |triad|)))) 399 (#6# 400 (SEQ 401 (LETT |midtriads| 402 (PROGN 403 (LETT #5# NIL) 404 (SEQ (LETT |pr| NIL) 405 (LETT #4# (CDR (CDR |l|))) 406 (LETT |po| NIL) (LETT #3# (CDR |l|)) 407 (LETT |pl| NIL) (LETT #2# |l|) G190 408 (COND 409 ((OR (ATOM #2#) 410 (PROGN (LETT |pl| (CAR #2#)) NIL) 411 (ATOM #3#) 412 (PROGN (LETT |po| (CAR #3#)) NIL) 413 (ATOM #4#) 414 (PROGN (LETT |pr| (CAR #4#)) NIL)) 415 (GO G191))) 416 (SEQ 417 (EXIT 418 (LETT #5# 419 (CONS 420 (|SCIFS;poTriad| |pl| |po| |pr| 421 $) 422 #5#)))) 423 (LETT #2# 424 (PROG1 (CDR #2#) 425 (LETT #3# 426 (PROG1 (CDR #3#) 427 (LETT #4# (CDR #4#)))))) 428 (GO G190) G191 (EXIT (NREVERSE #5#))))) 429 (LETT |x| (|SPADfirst| |midtriads|)) 430 (LETT |t| 431 (SPADCALL 432 (SPADCALL (SPADCALL |l| (QREFELT $ 42)) 433 (|SPADfirst| |l|) (QREFELT $ 39)) 434 (QREFELT $ 40))) 435 (LETT |n| 436 (SPADCALL (|SCIFS;orthog| |t| (QVELT |x| 1) $) 437 (QREFELT $ 40))) 438 (LETT |begtriad| 439 (VECTOR |t| |n| 440 (SPADCALL |t| |n| (QREFELT $ 41)))) 441 (LETT |x| (SPADCALL |midtriads| (QREFELT $ 45))) 442 (LETT |t| 443 (SPADCALL 444 (SPADCALL (SPADCALL |l| |k| (QREFELT $ 20)) 445 (SPADCALL |l| (- |k| 1) 446 (QREFELT $ 20)) 447 (QREFELT $ 39)) 448 (QREFELT $ 40))) 449 (LETT |n| 450 (SPADCALL (|SCIFS;orthog| |t| (QVELT |x| 1) $) 451 (QREFELT $ 40))) 452 (LETT |endtriad| 453 (VECTOR |t| |n| 454 (SPADCALL |t| |n| (QREFELT $ 41)))) 455 (EXIT 456 (CONS |begtriad| 457 (SPADCALL |midtriads| |endtriad| 458 (QREFELT $ 46))))))))))))))) 459 460(SDEFUN |SCIFS;cosSinInfo| 461 ((|n| |Integer|) ($ |List| (|List| (|DoubleFloat|)))) 462 (SPROG 463 ((|ans| (|List| (|List| (|DoubleFloat|)))) (|angle| (|DoubleFloat|)) 464 (#1=#:G494 NIL) (|i| NIL) (|theta| (|DoubleFloat|))) 465 (SEQ (LETT |ans| NIL) 466 (LETT |theta| 467 (|div_DF_I| 468 (SPADCALL 2 (FLOAT PI MOST-POSITIVE-DOUBLE-FLOAT) 469 (QREFELT $ 48)) 470 |n|)) 471 (SEQ (LETT |i| 1) (LETT #1# (- |n| 1)) G190 472 (COND ((|greater_SI| |i| #1#) (GO G191))) 473 (SEQ (LETT |angle| (SPADCALL |i| |theta| (QREFELT $ 49))) 474 (EXIT 475 (LETT |ans| 476 (CONS 477 (LIST (|cos_DF| |angle|) (|sin_DF| |angle|)) 478 |ans|)))) 479 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 480 (EXIT |ans|)))) 481 482(SDEFUN |SCIFS;loopPoints| 483 ((|ctr| PT) (|pNorm| PT) (|bNorm| PT) (|rad| |DoubleFloat|) 484 (|cosSin| |List| (|List| (|DoubleFloat|))) ($ |List| PT)) 485 (SPROG 486 ((|pt| (PT)) (|ans| (|List| PT)) (|sin| (|DoubleFloat|)) 487 (|cos| (|DoubleFloat|)) (|cossin| (|List| (|DoubleFloat|)))) 488 (SEQ (LETT |ans| NIL) 489 (SEQ G190 (COND ((NULL (NULL (NULL |cosSin|))) (GO G191))) 490 (SEQ (LETT |cossin| (|SPADfirst| |cosSin|)) 491 (LETT |cos| (|SPADfirst| |cossin|)) 492 (LETT |sin| (SPADCALL |cossin| (QREFELT $ 51))) 493 (LETT |ans| 494 (CONS 495 (SPADCALL |ctr| 496 (SPADCALL |rad| 497 (SPADCALL 498 (SPADCALL |cos| |pNorm| 499 (QREFELT $ 26)) 500 (SPADCALL |sin| |bNorm| 501 (QREFELT $ 26)) 502 (QREFELT $ 22)) 503 (QREFELT $ 26)) 504 (QREFELT $ 22)) 505 |ans|)) 506 (EXIT (LETT |cosSin| (CDR |cosSin|)))) 507 NIL (GO G190) G191 (EXIT NIL)) 508 (LETT |pt| 509 (SPADCALL |ctr| (SPADCALL |rad| |pNorm| (QREFELT $ 26)) 510 (QREFELT $ 22))) 511 (EXIT (CONS |pt| (SPADCALL |ans| |pt| (QREFELT $ 12))))))) 512 513(SDEFUN |SCIFS;curveLoops;LDfIL;14| 514 ((|pts1| |List| PT) (|r| |DoubleFloat|) (|nn| |Integer|) 515 ($ |List| (|List| PT))) 516 (SPROG 517 ((|loops| (|List| (|List| PT))) (|b| (PT)) (|n| (PT)) (#1=#:G504 NIL) 518 (|pt| NIL) (#2=#:G505 NIL) (|triad| NIL) 519 (|cosSin| (|List| (|List| (|DoubleFloat|)))) 520 (|triads| 521 (|List| (|Record| (|:| |tang| PT) (|:| |norm| PT) (|:| |bin| PT))))) 522 (SEQ (LETT |triads| (|SCIFS;curveTriads| |pts1| $)) 523 (LETT |cosSin| (|SCIFS;cosSinInfo| |nn| $)) (LETT |loops| NIL) 524 (SEQ (LETT |triad| NIL) (LETT #2# |triads|) (LETT |pt| NIL) 525 (LETT #1# |pts1|) G190 526 (COND 527 ((OR (ATOM #1#) (PROGN (LETT |pt| (CAR #1#)) NIL) 528 (ATOM #2#) (PROGN (LETT |triad| (CAR #2#)) NIL)) 529 (GO G191))) 530 (SEQ (LETT |n| (QVELT |triad| 1)) 531 (LETT |b| (QVELT |triad| 2)) 532 (EXIT 533 (LETT |loops| 534 (CONS 535 (|SCIFS;loopPoints| |pt| |n| |b| |r| |cosSin| 536 $) 537 |loops|)))) 538 (LETT #1# (PROG1 (CDR #1#) (LETT #2# (CDR #2#)))) (GO G190) 539 G191 (EXIT NIL)) 540 (EXIT (NREVERSE |loops|))))) 541 542(SDEFUN |SCIFS;stube;LDfI$;15| 543 ((|functions| |List| 544 (|Record| (|:| |source| (|Mapping| PT (|DoubleFloat|))) 545 (|:| |ranges| (|List| (|Segment| (|DoubleFloat|)))) 546 (|:| |knots| (|List| (|DoubleFloat|))) 547 (|:| |points| (|List| PT)))) 548 (|r| |DoubleFloat|) (|n| |Integer|) ($ $)) 549 (SPROG 550 ((|loops| (|List| (|List| PT))) (#1=#:G513 NIL) (|bran| NIL) 551 (|brans| (|List| (|List| PT)))) 552 (SEQ 553 (COND ((< |n| 3) (|error| "tube: n should be at least 3")) 554 ('T 555 (SEQ (LETT |brans| (|SCIFS;listBranches| |functions| $)) 556 (LETT |loops| NIL) 557 (SEQ (LETT |bran| NIL) (LETT #1# |brans|) G190 558 (COND 559 ((OR (ATOM #1#) 560 (PROGN (LETT |bran| (CAR #1#)) NIL)) 561 (GO G191))) 562 (SEQ 563 (EXIT 564 (LETT |loops| 565 (SPADCALL |loops| 566 (SPADCALL |bran| |r| |n| 567 (QREFELT $ 52)) 568 (QREFELT $ 53))))) 569 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 570 (EXIT (SPADCALL |loops| 'T (QREFELT $ 17))))))))) 571 572(SDEFUN |SCIFS;coerce;$Of;16| ((|me| $) ($ |OutputForm|)) 573 (SPROG 574 ((|res| (|List| (|OutputForm|))) (|r| (|OutputForm|)) (#1=#:G524 NIL) 575 (|pIx| NIL) (#2=#:G523 NIL) (|faceIx| NIL) (#3=#:G522 NIL) (|p| NIL)) 576 (SEQ (LETT |r| (SPADCALL (QREFELT $ 59))) 577 (SEQ (LETT |p| NIL) (LETT #3# (QCDR |me|)) G190 578 (COND 579 ((OR (ATOM #3#) (PROGN (LETT |p| (CAR #3#)) NIL)) 580 (GO G191))) 581 (SEQ 582 (LETT |r| 583 (SPADCALL |r| (SPADCALL |p| (QREFELT $ 60)) 584 (QREFELT $ 61))) 585 (EXIT 586 (LETT |r| 587 (SPADCALL |r| (SPADCALL " " (QREFELT $ 63)) 588 (QREFELT $ 61))))) 589 (LETT #3# (CDR #3#)) (GO G190) G191 (EXIT NIL)) 590 (LETT |res| (LIST |r|)) 591 (SEQ (LETT |faceIx| NIL) (LETT #2# (QCAR |me|)) G190 592 (COND 593 ((OR (ATOM #2#) (PROGN (LETT |faceIx| (CAR #2#)) NIL)) 594 (GO G191))) 595 (SEQ (LETT |r| (SPADCALL (QREFELT $ 59))) 596 (SEQ (LETT |pIx| NIL) (LETT #1# |faceIx|) G190 597 (COND 598 ((OR (ATOM #1#) 599 (PROGN (LETT |pIx| (CAR #1#)) NIL)) 600 (GO G191))) 601 (SEQ 602 (LETT |r| 603 (SPADCALL |r| 604 (SPADCALL |pIx| (QREFELT $ 64)) 605 (QREFELT $ 61))) 606 (EXIT 607 (LETT |r| 608 (SPADCALL |r| 609 (SPADCALL " " (QREFELT $ 63)) 610 (QREFELT $ 61))))) 611 (LETT #1# (CDR #1#)) (GO G190) G191 (EXIT NIL)) 612 (EXIT 613 (LETT |res| (SPADCALL |res| |r| (QREFELT $ 66))))) 614 (LETT #2# (CDR #2#)) (GO G190) G191 (EXIT NIL)) 615 (EXIT (SPADCALL |res| (QREFELT $ 68)))))) 616 617(DECLAIM (NOTINLINE |SceneIFS;|)) 618 619(DEFUN |SceneIFS| (#1=#:G525) 620 (SPROG NIL 621 (PROG (#2=#:G526) 622 (RETURN 623 (COND 624 ((LETT #2# 625 (|lassocShiftWithFunction| (LIST (|devaluate| #1#)) 626 (HGET |$ConstructorCache| 627 '|SceneIFS|) 628 '|domainEqualList|)) 629 (|CDRwithIncrement| #2#)) 630 ('T 631 (UNWIND-PROTECT (PROG1 (|SceneIFS;| #1#) (LETT #2# T)) 632 (COND ((NOT #2#) (HREM |$ConstructorCache| '|SceneIFS|)))))))))) 633 634(DEFUN |SceneIFS;| (|#1|) 635 (SPROG ((|pv$| NIL) ($ NIL) (|dv$| NIL) (DV$1 NIL)) 636 (PROGN 637 (LETT DV$1 (|devaluate| |#1|)) 638 (LETT |dv$| (LIST '|SceneIFS| DV$1)) 639 (LETT $ (GETREFV 70)) 640 (QSETREFV $ 0 |dv$|) 641 (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL))) 642 (|haddProp| |$ConstructorCache| '|SceneIFS| (LIST DV$1) (CONS 1 $)) 643 (|stuffDomainSlots| $) 644 (QSETREFV $ 6 |#1|) 645 (SETF |pv$| (QREFELT $ 3)) 646 (QSETREFV $ 7 647 (|Record| 648 (|:| |inx| (|List| (|List| (|NonNegativeInteger|)))) 649 (|:| |pts| (|List| |#1|)))) 650 (QSETREFV $ 31 (|mk_DF| 995 -3)) 651 (QSETREFV $ 32 (SPADCALL 1 0 0 (QREFELT $ 21))) 652 (QSETREFV $ 33 (SPADCALL 0 1 0 (QREFELT $ 21))) 653 (QSETREFV $ 34 (SPADCALL 1 1 0 (QREFELT $ 21))) 654 (QSETREFV $ 35 (QREFELT $ 34)) 655 $))) 656 657(MAKEPROP '|SceneIFS| '|infovec| 658 (LIST 659 '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) '|Rep| (|List| 13) 660 |SCIFS;indexes;$L;1| (|List| 6) |SCIFS;pointList;$L;2| 661 (0 . |concat|) (|List| 23) (6 . |concat|) (|List| 10) (|Boolean|) 662 |SCIFS;smesh;LB$;4| |SCIFS;singleFace;L$;5| (|Integer|) 663 (12 . |elt|) (18 . |sipnt|) (25 . +) (|NonNegativeInteger|) 664 (31 . |#|) (|DoubleFloat|) (36 . *) (42 . |elt|) (48 . |setelt!|) 665 |SCIFS;subdivide;2$;6| |SCIFS;sierpinskiDivide;$Nni$;7| 'LINMAX 666 'XHAT 'YHAT 'PREV0 'PREV (55 . |colinearity|) (61 . >) 667 (67 . |parallel|) (73 . -) (79 . |unitVector|) 668 (84 . |perpendicular|) (90 . |second|) 669 (|Record| (|:| |tang| 6) (|:| |norm| 6) (|:| |bin| 6)) 670 (|List| 43) (95 . |last|) (100 . |concat|) (|PositiveInteger|) 671 (106 . *) (112 . *) (|List| 25) (118 . |second|) 672 |SCIFS;curveLoops;LDfIL;14| (123 . |concat|) (|Mapping| 6 25) 673 (|Record| (|:| |source| 54) 674 (|:| |ranges| (|List| (|Segment| 25))) (|:| |knots| 50) 675 (|:| |points| 10)) 676 (|List| 55) |SCIFS;stube;LDfI$;15| (|OutputForm|) (129 . |empty|) 677 (133 . |coerce|) (138 . |hconcat|) (|String|) (144 . |message|) 678 (149 . |coerce|) (|List| 58) (154 . |concat|) (|List| $) 679 (160 . |vconcat|) |SCIFS;coerce;$Of;16|) 680 '#(|subdivide| 165 |stube| 170 |smesh| 177 |singleFace| 183 681 |sierpinskiDivide| 188 |pointList| 194 |indexes| 199 |curveLoops| 682 204 |coerce| 211) 683 'NIL 684 (CONS (|makeByteWordVec2| 1 '(0)) 685 (CONS '#(NIL) 686 (CONS 687 '#((|Join| 688 (|mkCategory| 689 (LIST 690 '((|smesh| 691 ($$ (|List| (|List| |#1|)) (|Boolean|))) 692 T) 693 '((|singleFace| ($$ (|List| |#1|))) T) 694 '((|subdivide| ($$ $$)) T) 695 '((|sierpinskiDivide| 696 ($$ $$ (|NonNegativeInteger|))) 697 T) 698 '((|stube| 699 ($$ 700 (|List| 701 (|Record| 702 (|:| |source| 703 (|Mapping| |#1| (|DoubleFloat|))) 704 (|:| |ranges| 705 (|List| (|Segment| (|DoubleFloat|)))) 706 (|:| |knots| (|List| (|DoubleFloat|))) 707 (|:| |points| (|List| |#1|)))) 708 (|DoubleFloat|) (|Integer|))) 709 T) 710 '((|curveLoops| 711 ((|List| (|List| |#1|)) (|List| |#1|) 712 (|DoubleFloat|) (|Integer|))) 713 T) 714 '((|indexes| 715 ((|List| (|List| (|NonNegativeInteger|))) $$)) 716 T) 717 '((|pointList| ((|List| |#1|) $$)) T) 718 '((|coerce| ((|OutputForm|) $$)) T)) 719 (LIST) NIL NIL))) 720 (|makeByteWordVec2| 69 721 '(2 10 0 0 6 12 2 8 0 0 13 14 2 10 722 6 0 19 20 3 6 0 19 19 19 21 2 6 0 723 0 0 22 1 13 23 0 24 2 6 0 25 0 26 724 2 13 23 0 19 27 3 13 23 0 19 23 725 28 2 6 25 0 0 36 2 25 16 0 0 37 2 726 6 25 0 0 38 2 6 0 0 0 39 1 6 0 0 727 40 2 6 0 0 0 41 1 10 6 0 42 1 44 728 43 0 45 2 44 0 0 43 46 2 25 0 47 729 0 48 2 25 0 23 0 49 1 50 25 0 51 730 2 15 0 0 0 53 0 58 0 59 1 6 58 0 731 60 2 58 0 0 0 61 1 58 0 62 63 1 732 23 58 0 64 2 65 0 0 58 66 1 58 0 733 67 68 1 0 0 0 29 3 0 0 56 25 19 734 57 2 0 0 15 16 17 1 0 0 10 18 2 0 735 0 0 23 30 1 0 10 0 11 1 0 8 0 9 3 736 0 15 10 25 19 52 1 0 58 0 69))))) 737 '|lookupComplete|)) 738