Changeset 3171
- Timestamp:
- 05/23/08 14:16:47 (6 months ago)
- Files:
-
- trunk/projects/bos/test/web/quad-tree.lisp (modified) (1 diff)
- trunk/projects/bos/web/kml-handlers.lisp (modified) (1 diff)
- trunk/projects/bos/web/quad-tree.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/projects/bos/test/web/quad-tree.lisp
r3151 r3171 141 141 142 142 (test node-path.1 143 (let (( tree(make-instance 'quad-node :geo-box *m2-geo-box*)))143 (let ((bos.web::*quad-tree* (make-instance 'quad-node :geo-box *m2-geo-box*))) 144 144 (for-all ((path (gen-list :elements (gen-integer :min 0 :max 3)))) 145 (is (equal path (node-path tree(ensure-node-with-path tree path)))))))145 (is (equal path (node-path (ensure-node-with-path tree path))))))) 146 146 147 148 trunk/projects/bos/web/kml-handlers.lisp
r3135 r3171 100 100 (format nil "http://~a/contract-tree-kml" (website-host)) 101 101 (let* ((node (find-contract-node *contract-tree* contract)) 102 (path (node-path *contract-tree*node))102 (path (node-path node)) 103 103 (contract-id (store-object-id contract))) 104 104 (format nil "http://~a/contract-tree-kml?rmcid=~D&rmcpath=~{~D~}" trunk/projects/bos/web/quad-tree.lisp
r3170 r3171 110 110 (defmethod extensions ((node null)) nil) 111 111 112 ;;; node-extension 112 113 (defclass node-extension () 113 114 ((base-node :reader base-node :accessor %base-node :initform nil) … … 255 256 nil)) 256 257 257 (defun node-path (tree node) 258 ;;; *quad-tree* 259 (defvar *quad-tree*) 260 261 (defun make-quad-tree () 262 (setq *quad-tree* (make-instance 'quad-node :geo-box *m2-geo-box*))) 263 264 (register-store-transient-init-function 'make-quad-tree) 265 266 (defmethod node-path (node) 258 267 (let (prev-n path) 259 268 (map-nodes (lambda (n) … … 263 272 (return-from node-path (nreverse path))) 264 273 (setq prev-n n)) 265 tree274 *quad-tree* 266 275 :prune-test (lambda (n) (not (geo-box-intersect-p (geo-box n) (geo-box node))))))) 267 276 268 ;;; *quad-tree* 269 (defvar *quad-tree*) 270 271 (defun make-quad-tree () 272 (setq *quad-tree* (make-instance 'quad-node :geo-box *m2-geo-box*))) 273 274 (register-store-transient-init-function 'make-quad-tree) 275 277 (defpersistent-class persistent-node-extension (node-extension) 278 ((base-node :transient t) 279 (path :reader node-path))) 280
