Blame view

legacy/rtsOctree.h 1.22 KB
f1402849   dmayerich   renewed commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
  #ifndef RTSOCTREE_H

  #define RTSOCTREE_H

  

  #include "rtspoint3D.h"

  

  template <class T>

  struct octree_node

  {

  	unsigned int center;

  	T data;

  	octree_node* ppp;

  	octree_node* ppn;

  	octree_node* pnp;

  	octree_node* pnn;

  	octree_node* npp;

  	octree_node* npn;

  	octree_node* nnp;

  	octree_node* nnn;

  	octree_node();

  }

  

  template <class T>

  octree_node::octree_node()

  {

  	ppp = NULL;

  	ppn = NULL;

  	pnp = NULL;

  	pnn = NULL;

  	npp = NULL;

  	npn = NULL;

  	nnp = NULL;

  	nnn = NULL;

  }

  

  

  template <class T>

  class rtsOctree

  {

  public:

  	unsigned int num_leaves;

  	point3D<unsigned int> center;

  	octree_node* root;

  	rtsOctree(unsigned int sizex, unsigned int sizey, unsigned int sizez);

  	void Insert(unsigned int x, unsigned int y, unsigned int z, T value);

  

  };

  

  template <class T>

  rtsOctree<T>::rtsOctree(unsigned int sizex, unsigned int sizey, unsigned int sizez)

  {

  	center.x = sizex/2;

  	center.y = sizey/2;

  	center.z = sizez/2;

  	root = new octree_node();

  	num_leaves = 1;

  }

  

  template <class T>

  void rtsOctree<T>::Insert(unsigned int x, unsigned int y, unsigned int z, T value)

  {

  	point3D<unsigned int> current;

  	point3D<unsigned int> destination(x, y, z);

  	while(!(current == destination))

  	{

  		

  

  

  

  

  #endif