(n *quadtreeNode)
| 149 | } |
| 150 | |
| 151 | func (qt *Quadtree) freeQuadtreeNode(n *quadtreeNode) { |
| 152 | if !qt.usePool { |
| 153 | return |
| 154 | } |
| 155 | if n.hasNodes { |
| 156 | for i, child := range n.Nodes { |
| 157 | qt.freeQuadtreeNode(child) |
| 158 | n.Nodes[i] = nil |
| 159 | } |
| 160 | } |
| 161 | |
| 162 | if n.Objects != nil { |
| 163 | for _, o := range n.Objects { |
| 164 | qt.freeQuadtreeNodeData(o) |
| 165 | } |
| 166 | } |
| 167 | n.Objects = nil |
| 168 | n.Tree = nil |
| 169 | n.hasNodes = false |
| 170 | quadtreeNodePool.Put(n) |
| 171 | } |
| 172 | |
| 173 | // split - split the node into 4 subnodes |
| 174 | func (qt *quadtreeNode) split() { |
no test coverage detected