Skip to content

Commit f71c10d

Browse files
committed
create octree algorithm
1 parent e1f32e0 commit f71c10d

File tree

4 files changed

+425
-0
lines changed

4 files changed

+425
-0
lines changed

Diff for: Octree/Octree.playground/Contents.swift

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//: Playground - noun: a place where people can play
2+
3+
import UIKit
4+
import simd
5+
6+
let boxMin = vector_double3(0, 2, 6)
7+
let boxMax = vector_double3(5, 10, 9)
8+
let box = Box(boxMin: boxMin, boxMax: boxMax)
9+
var octree = Octree<Int>(boundingBox: box, minimumCellSize: 5.0)
10+
var five = octree.add(5, at: vector_double3(3,4,8))
11+
octree.add(8, at: vector_double3(3,4,8.2))
12+
octree.add(10, at: vector_double3(3,4,8.2))
13+
octree.add(7, at: vector_double3(2,5,8))
14+
octree.add(2, at: vector_double3(1,6,7))
15+
16+
var cont = octree.elements(at: vector_double3(3,4,8.2))
17+
octree.remove(8)
18+
octree.elements(at: vector_double3(3,4,8))
19+
20+
let boxMin2 = vector_double3(1,3,7)
21+
let boxMax2 = vector_double3(4,9,8)
22+
let box2 = Box(boxMin: boxMin2, boxMax: boxMax2)
23+
box.isContained(in: box2)
24+
box.intersects(box2)
25+
26+
let boxMin3 = vector_double3(3,8,8)
27+
let boxMax3 = vector_double3(10,12,20)
28+
let box3 = Box(boxMin: boxMin3, boxMax: boxMax3)
29+
box3.intersects(box3)
30+
31+
octree.elements(in: box)
32+
octree.elements(in: box2)
33+
print(octree)

0 commit comments

Comments
 (0)