Skip to content

Commit 9786646

Browse files
committed
[irtgeo.l] fix (use cond instead of when)
1 parent e9c546d commit 9786646

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

irteus/irtgeo.l

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -471,25 +471,25 @@
471471
(mapcan #'(lambda (e)
472472
(let ((p (geo::line-intersection3 (e . pvert) (e . nvert)
473473
(car v) (cdr v))))
474-
(when (and (<= 0.0 (car p) 1.0)
475-
(< 0.0 (cadr p) 1.0))
476-
(list e))
477-
(when (and (< 0.0 (car p) 1.0)
478-
(or (= 0.0 (cadr p)) (= 1.0 (cadr p))))
479-
nil) ;; not implemented yet
480-
;; duplicated vertices exist
481-
(when (and (or (= 0.0 (car p)) (= 1.0 (car p)))
482-
(or (= 0.0 (cadr p)) (= 1.0 (cadr p)))
483-
(not (or (memq (car v) (send e :vertices)) (memq (cdr v) (send e :vertices)))))
484-
(let* ((ev (if (= 0.0 (car p)) (e . pvert) (e . nvert)))
485-
(ein (find-if #'(lambda (e) (eq ev (e . nvert))) (flatten (append (send-all hs :edges) (send f :edges)))))
486-
(eout (find-if #'(lambda (e) (eq ev (e . pvert))) (flatten (append (send-all hs :edges) (send f :edges)))))
487-
(v0 (eout . nvert))
488-
(v1 (if (= 0.0 (cadr p)) (cdr v) (car v)))
489-
(v2 (ein . pvert)))
490-
(when (< (mod (+ (vector-angle (v- v0 ev) (v- v1 ev) (send f :normal)) 2PI) 2PI)
491-
(mod (+ (vector-angle (v- v0 ev) (v- v2 ev) (send f :normal)) 2PI) 2PI))
492-
(list e))))
474+
(cond ((and (<= 0.0 (car p) 1.0)
475+
(< 0.0 (cadr p) 1.0))
476+
(list e))
477+
((and (< 0.0 (car p) 1.0)
478+
(or (= 0.0 (cadr p)) (= 1.0 (cadr p))))
479+
nil) ;; not implemented yet
480+
;; vertex is shared by more than two edges. avoid intersecting.
481+
((and (or (= 0.0 (car p)) (= 1.0 (car p)))
482+
(or (= 0.0 (cadr p)) (= 1.0 (cadr p)))
483+
(not (or (memq (car v) (send e :vertices)) (memq (cdr v) (send e :vertices)))))
484+
(let* ((ev (if (= 0.0 (car p)) (e . pvert) (e . nvert)))
485+
(ein (find-if #'(lambda (e) (eq ev (e . nvert))) (flatten (append (send-all hs :edges) (send f :edges)))))
486+
(eout (find-if #'(lambda (e) (eq ev (e . pvert))) (flatten (append (send-all hs :edges) (send f :edges)))))
487+
(v0 (eout . nvert))
488+
(v1 (if (= 0.0 (cadr p)) (cdr v) (car v)))
489+
(v2 (ein . pvert)))
490+
(when (< (mod (+ (vector-angle (v- v0 ev) (v- v1 ev) (send f :normal)) 2PI) 2PI)
491+
(mod (+ (vector-angle (v- v0 ev) (v- v2 ev) (send f :normal)) 2PI) 2PI))
492+
(list e)))))
493493
))
494494
(flatten (append (send-all hs :edges) (send f :edges)))))
495495
(unless r

0 commit comments

Comments
 (0)