Blame view

stim/visualization/aabb3.h 992 Bytes
37c7ea8c   Laila Saadatifard   upload the aabb3....
1
2
3
4
  #ifndef STIM_AABB3_H
  #define STIM_AABB3_H
  
  #include <stim/cuda/cudatools/callable.h>
9b563709   David Mayerich   generalized aabb ...
5
  #include <stim/visualization/aabbn.h>
37c7ea8c   Laila Saadatifard   upload the aabb3....
6
7
8
  
  namespace stim{
  
fddfdc02   David Mayerich   fixed aabb errors
9
10
11
  	//template<typename T>
  	//using aabb3 = aabbn<T, 3>;
  /// Structure for a 3D axis aligned bounding box
37c7ea8c   Laila Saadatifard   upload the aabb3....
12
  template<typename T>
9b563709   David Mayerich   generalized aabb ...
13
14
  struct aabb3 : public aabbn<T, 3>{
  
fddfdc02   David Mayerich   fixed aabb errors
15
16
  	CUDA_CALLABLE aabb3() : aabbn() {}
  	CUDA_CALLABLE aabb3(T x0, T y0, T z0, T x1, T y1, T z1){
9b563709   David Mayerich   generalized aabb ...
17
18
19
20
21
22
  		low[0] = x0;
  		low[1] = y0;
  		low[2] = z0;
  		high[0] = x0;
  		high[1] = x1;
  		high[2] = x2;
37c7ea8c   Laila Saadatifard   upload the aabb3....
23
24
  	}
  
fddfdc02   David Mayerich   fixed aabb errors
25
26
27
28
29
30
31
32
33
34
35
36
37
  	CUDA_CALLABLE aabb3(T x, T y, T z) {
  		low[0] = high[0] = x;
  		low[1] = high[1] = y;
  		low[2] = high[2] = z;
  	}
  
  	CUDA_CALLABLE void insert(T x, T y, T z) {
  		T p[3];
  		p[0] = x;
  		p[1] = y;
  		p[2] = z;
  		aabbn<T, 3>::insert(p);
  	}
37c7ea8c   Laila Saadatifard   upload the aabb3....
38
  
fddfdc02   David Mayerich   fixed aabb errors
39
40
41
42
43
44
  	CUDA_CALLABLE void trim_low(T x, T y, T z) {
  		T p[3];
  		p[0] = x;
  		p[1] = y;
  		p[2] = z;
  		aabbn<T, 3>::trim_low(p);
37c7ea8c   Laila Saadatifard   upload the aabb3....
45
46
  	}
  
fddfdc02   David Mayerich   fixed aabb errors
47
48
49
50
51
52
53
54
55
56
57
  	CUDA_CALLABLE void trim_high(T x, T y, T z) {
  		T p[3];
  		p[0] = x;
  		p[1] = y;
  		p[2] = z;
  		aabbn<T, 3>::trim_high(p);
  	}
  
  
  
  };
37c7ea8c   Laila Saadatifard   upload the aabb3....
58
59
60
61
62
  
  }
  
  
  #endif