@@ -18,54 +18,54 @@ class HittableList : public Hittable
18
18
struct HittableNode ;
19
19
struct HittableNode
20
20
{
21
- HittableNode* next;
21
+ HittableNode* next;
22
22
SharedPointer<Hittable> data;
23
23
24
- HOST HittableNode (const SharedPointer<Hittable>& data = SharedPointer<Hittable>());
25
- HOST ~HittableNode () noexcept ;
24
+ DEV HOST HittableNode (const SharedPointer<Hittable>& data = SharedPointer<Hittable>());
25
+ DEV HOST ~HittableNode () noexcept ;
26
26
};
27
27
28
28
class HittableLinkedList
29
29
{
30
30
HittableNode* head;
31
31
HittableNode* tail;
32
- unsigned len;
32
+ unsigned len;
33
33
34
+ public:
35
+ DEV HOST HittableLinkedList ();
36
+ DEV HOST ~HittableLinkedList () noexcept ;
37
+
38
+ HOST void emplace_back (const SharedPointer<Hittable>& data);
39
+ HOST void clear ();
40
+ DEV HOST bool empty () const ;
41
+ DEV HOST SharedPointer<Hittable> at (unsigned i) const ;
42
+ DEV HOST unsigned size () const ;
43
+
44
+ class Iterator ;
45
+
46
+ DEV HOST Iterator begin () const ;
47
+ DEV HOST Iterator end () const ;
48
+
49
+ class Iterator
50
+ {
51
+ HittableNode* curr;
34
52
public:
35
- HOST HittableLinkedList ();
36
- HOST ~HittableLinkedList () noexcept ;
37
-
38
- HOST void emplace_back (const SharedPointer<Hittable>& data);
39
- HOST void clear ();
40
- DEV HOST bool empty () const ;
41
- DEV HOST SharedPointer<Hittable> at (unsigned i) const ;
42
- DEV HOST unsigned size () const ;
43
-
44
- class Iterator ;
45
-
46
- DEV HOST Iterator begin () const ;
47
- DEV HOST Iterator end () const ;
48
-
49
- class Iterator
50
- {
51
- HittableNode* curr;
52
- public:
53
- DEV HOST Iterator (HittableNode* n = nullptr );
54
- DEV HOST ~Iterator () = default ;
55
-
56
- DEV HOST Iterator& operator ++();
57
- DEV HOST Iterator& operator =(HittableNode* n);
58
- DEV HOST bool operator !=(const Iterator& it);
59
- DEV HOST SharedPointer<Hittable> operator *();
60
- };
53
+ DEV HOST Iterator (HittableNode* n = nullptr );
54
+ DEV HOST ~Iterator () = default ;
55
+
56
+ DEV HOST Iterator& operator ++();
57
+ DEV HOST Iterator& operator =(HittableNode* n);
58
+ DEV HOST bool operator !=(const Iterator& it);
59
+ DEV HOST SharedPointer<Hittable> operator *();
60
+ };
61
61
};
62
62
63
63
HittableLinkedList hittables;
64
64
#endif
65
65
66
66
public:
67
- HOST HittableList () = default;
68
- HOST ~HittableList () noexcept = default ;
67
+ DEV HOST HittableList () = default;
68
+ DEV HOST ~HittableList () noexcept = default ;
69
69
70
70
DEV Hittable::HitType getCollisionData (const Ray &ray, HitRecord &record,
71
71
double tMin = -utils::infinity, double tMax = utils::infinity,
0 commit comments