Commit 551ddef9 authored by Dave Cooper's avatar Dave Cooper
Browse files

protected read-snapshot from dynamic scope of self, formatted doc string in joined-surfaces

parent ed2b14ee
......@@ -672,10 +672,9 @@ toplevel inputs as specified in the snapshot file.
(error "Invalid package specification at beginning of ~a.~%" filename))
(let* ((*package* (find-package (second package-form))) (root-form (read in)))
(when (or (null root-form)
(not (eql (class-of (find-class (first root-form))) (find-class 'gdl-class)))
;;(not (find :%gdl-messages% (symbol-plist (first root-form))))
)
(not (eql (class-of (find-class (first root-form))) (find-class 'gdl-class))))
(error "Invalid object type specifier as first element of second form in ~a.~%" root-form))
(let ((object (cond ((and object keep-bashed-values?) object)
(object (the-object object restore-tree!) object)
......@@ -683,6 +682,7 @@ toplevel inputs as specified in the snapshot file.
(apply #'make-object (first root-form) make-object-args))))))
(let ((self object) (value-plist (rest root-form)))
(mapc #'(lambda(key expression)
(unless (member key keys-to-ignore)
(when self (the-object self (set-slot! key (eval expression))))))
......@@ -707,15 +707,12 @@ toplevel inputs as specified in the snapshot file.
(let ((root-path (first form)) (value-plist (rest form)))
(let ((self
(with-error-handling (:timeout nil)
(the-object object (follow-root-path root-path)))))
(when self
(mapc #'(lambda(key expression)
(unless (member key keys-to-ignore)
(when self
(the-object self (set-slot! key (eval expression))))))
(the-object self (set-slot! key (eval `(let ((self ,self)) ,expression))))))
(plist-keys value-plist) (plist-values value-plist))))))))
object)))))
......
......@@ -60,9 +60,18 @@
")
:input-slots ("Gdl surface object. The first surface to be joined. Its u-max or v-max lays at the common boundary." surface
"Gdl surface object. The second surface to be joined . Its u-min or v-min lays at the common boundary." other-surface
("Number. This is a tolerance used for Knot removal. The knot corresponding to the merged boundary has multiplicity equal to the degree. Knot removal will be attempted using this tolerance. Default is *3d-tolerance-default*" tolerance *3d-tolerance-default*)
("Keyword symbol, one of :u or :v. If :u the common boundary is for first surface u-max and for the second surface u-min. Surfaces must already be compatible in the u-direction. If :v the common boundary is for first surface v-max and for the second surface v-min. Surfaces must already be compatible in the v-direction. Default is :u. " direction :u))
("Keyword symbol, one of :u or :v. If :u the common
boundary is for first surface u-max and for the second
surface u-min. Surfaces must already be compatible in
the u-direction. If :v the common boundary is for
first surface v-max and for the second surface
v-min. Surfaces must already be compatible in the
v-direction. Default is :u. " direction :u))
:computed-slots ((native-surface (join-surfaces *geometry-kernel* (the surface) (the other-surface)
:tolerance (the tolerance)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment