summaryrefslogtreecommitdiff
path: root/modules/KDTree.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/KDTree.js')
-rw-r--r--modules/KDTree.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/modules/KDTree.js b/modules/KDTree.js
new file mode 100644
index 0000000..d9133d1
--- /dev/null
+++ b/modules/KDTree.js
@@ -0,0 +1,33 @@
+'use strict';
+
+class NodeType {
+ static Leaf = new NodeType('Leaf');
+ static Branch = new NodeType('Branch');
+
+ constructor(name) { this.name = name; }
+ toString() { return `NodeType.${this.name}`; }
+}
+
+
+class LeafNode {
+ constructor(point) {
+ this.type = NodeType.Leaf;
+ this.point = point;
+ }
+}
+class BranchNode {
+}
+
+
+class KDTree {
+ constructor() {
+ this.root = null;
+ }
+
+ insert(point) {
+ this.root = new LeafNode(point);
+ }
+}
+
+export { KDTree, NodeType, LeafNode, BranchNode };
+export default KDTree;