|
42 | 42 | (m/=> update-viewport-tree [:-> App App])
|
43 | 43 | (defn update-viewport-tree
|
44 | 44 | [db]
|
45 |
| - (let [[x y width height] (frame.h/viewbox db)] |
46 |
| - (assoc db :viewbox-kdtree (->> [[x (+ x width)] [y (+ y height)]] |
47 |
| - (kdtree/interval-search (:kdtree db)) |
48 |
| - (kdtree/build-tree))))) |
| 45 | + (let [[x y width height] (frame.h/viewbox db) |
| 46 | + boundaries [[x (+ x width)] [y (+ y height)]]] |
| 47 | + (assoc db :viewbox-kdtree (-> (:kdtree db) |
| 48 | + (kdtree/interval-search boundaries) |
| 49 | + (kdtree/build-tree))))) |
49 | 50 |
|
50 | 51 | (m/=> rebuild-tree [:-> App App])
|
51 | 52 | (defn rebuild-tree
|
52 | 53 | [db]
|
53 | 54 | (if (-> db :snap :active)
|
54 |
| - (let [points (element.h/snapping-points db (tool.hierarchy/snapping-elements db)) |
| 55 | + (let [elements (tool.hierarchy/snapping-elements db) |
| 56 | + points (element.h/snapping-points db elements) |
55 | 57 | points (cond-> points
|
56 | 58 | (contains? (-> db :snap :options) :grid)
|
57 | 59 | (into (ruler.h/steps-intersections db)))]
|
|
71 | 73 |
|
72 | 74 | (m/=> insert-to-tree [:-> App [:maybe [:set uuid?]] App])
|
73 | 75 | (defn insert-to-tree
|
74 |
| - [db ids] |
75 |
| - (let [points (->> (element.h/entities db ids) |
76 |
| - (vals) |
77 |
| - (element.h/snapping-points db))] |
| 76 | + [db element-ids] |
| 77 | + (let [elements (vals (element.h/entities db element-ids)) |
| 78 | + points (element.h/snapping-points db elements)] |
78 | 79 | (update-tree db kdtree/insert points)))
|
79 | 80 |
|
80 | 81 | (m/=> delete-from-tree [:-> App [:maybe [:set uuid?]] App])
|
81 | 82 | (defn delete-from-tree
|
82 |
| - [db ids] |
83 |
| - (let [points (->> (vals (element.h/entities db ids)) |
84 |
| - (element.h/snapping-points db))] |
| 83 | + [db element-ids] |
| 84 | + (let [elements (vals (element.h/entities db element-ids)) |
| 85 | + points (element.h/snapping-points db elements)] |
85 | 86 | (update-tree db kdtree/delete points)))
|
86 | 87 |
|
87 | 88 | (m/=> nearest-delta [:-> App Vec2D])
|
|
0 commit comments