Changeset 3423
- Timestamp:
- 07/10/08 17:41:02 (4 months ago)
- Files:
-
- trunk/projects/bos/test/web/sat-tree.lisp (modified) (1 diff)
- trunk/projects/bos/web/sat-tree.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/projects/bos/test/web/sat-tree.lisp
r3422 r3423 7 7 (with-store-reopenings () 8 8 (bos.web::make-sat-layer image geo-box :test 0) 9 (delete-object (first (class-instances 'bos.web::sat-layer))) 9 (progn 10 (bos.web::remove-sat-layer-from-quad-tree (find-store-object 1)) 11 (delete-object (first (class-instances 'bos.web::sat-layer)))) 10 12 (pass))))) trunk/projects/bos/web/sat-tree.lisp
r3421 r3423 3 3 (defclass sat-node (node-extension) 4 4 ((image :accessor image :initarg :image))) 5 6 (defmethod delete-node-extension :before ((obj sat-node))7 (delete-object (image obj)))8 5 9 6 (defpersistent-class sat-layer () … … 19 16 20 17 (defmethod destroy-object :before ((obj sat-layer)) 21 ;; (dolist (top-level-node (sat-layer-top-level-nodes obj)) 22 ;; (delete-node-extension top-level-node)) 18 (when (boundp '*quad-tree*) 19 ;; when the transaction log is being loaded, *quad-tree* is still 20 ;; unbound, because it is only initialized, when the entire store 21 ;; has been loaded -- an example for the fact that the quad-tree 22 ;; should have been implemented as a proper store index 23 (assert (null (sat-layer-top-level-nodes obj)) nil 24 "Please invoke (remove-sat-layer-from-quad-tree (find-store-object ~D)) before deleting ~s." 25 (store-object-id obj) obj)) 23 26 (dolist (sat-image (class-instances 'sat-image)) 24 (delete-object sat-image))) 27 (when (eq obj (layer sat-image)) 28 (delete-object sat-image)))) 29 30 (defun remove-sat-layer-from-quad-tree (sat-layer) 31 (let ((nodes (collect-nodes (constantly t) (first (sat-layer-top-level-nodes sat-layer))))) 32 (mapc #'delete-node-extension nodes) 33 (values))) 25 34 26 35 (defun sat-layer-top-level-nodes (sat-layer) … … 161 170 (nodes (remove-if-not #'pw-ph-large-enough (layer-quad-nodes))) 162 171 (max-scaling (max-scaling nodes))) 163 (format t "; creating ~a at depth ~a~%" name start-depth) 172 (format t "; creating ~a at depth ~a~%" name start-depth) ; 164 173 (dolist (node nodes layer) 165 174 (make-sat-image-tile image geo-box (quad-node node)
