File tree Expand file tree Collapse file tree 5 files changed +21
-13
lines changed Expand file tree Collapse file tree 5 files changed +21
-13
lines changed Original file line number Diff line number Diff line change 508
508
509
509
ray(const point3& origin, const vec3& direction) : orig(origin), dir(direction) {}
510
510
511
- point3 origin() const { return orig; }
512
- vec3 direction() const { return dir; }
511
+ const point3& origin() const { return orig; }
512
+ const vec3& direction() const { return dir; }
513
513
514
514
point3 at(double t) const {
515
515
return orig + t*dir;
526
526
527
527
</ div>
528
528
529
+ (For those unfamiliar with C++, the functions `ray::origin()` and `ray::direction()` both return an
530
+ immutable reference to their members. Callers can either just use the reference directly, or make a
531
+ mutable copy depending on their needs.)
532
+
529
533
530
534
Sending Rays Into the Scene
531
535
----------------------------
Original file line number Diff line number Diff line change 78
78
: orig(origin), dir(direction), tm(time) {}
79
79
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++
80
80
81
- point3 origin() const { return orig; }
82
- vec3 direction() const { return dir; }
81
+ const point3& origin() const { return orig; }
82
+ const vec3& direction() const { return dir; }
83
+
84
+
83
85
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight
84
- double time() const { return tm; }
86
+ double time() const { return tm; }
85
87
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++
86
88
87
89
point3 at(double t) const {
Original file line number Diff line number Diff line change @@ -20,8 +20,8 @@ class ray {
20
20
21
21
ray (const point3& origin, const vec3& direction) : orig(origin), dir(direction) {}
22
22
23
- point3 origin () const { return orig; }
24
- vec3 direction () const { return dir; }
23
+ const point3& origin () const { return orig; }
24
+ const vec3& direction () const { return dir; }
25
25
26
26
point3 at (double t) const {
27
27
return orig + t*dir;
Original file line number Diff line number Diff line change @@ -24,9 +24,10 @@ class ray {
24
24
ray (const point3& origin, const vec3& direction, double time)
25
25
: orig(origin), dir(direction), tm(time) {}
26
26
27
- point3 origin () const { return orig; }
28
- vec3 direction () const { return dir; }
29
- double time () const { return tm; }
27
+ const point3& origin () const { return orig; }
28
+ const vec3& direction () const { return dir; }
29
+
30
+ double time () const { return tm; }
30
31
31
32
point3 at (double t) const {
32
33
return orig + t*dir;
Original file line number Diff line number Diff line change @@ -24,9 +24,10 @@ class ray {
24
24
ray (const point3& origin, const vec3& direction, double time)
25
25
: orig(origin), dir(direction), tm(time) {}
26
26
27
- point3 origin () const { return orig; }
28
- vec3 direction () const { return dir; }
29
- double time () const { return tm; }
27
+ const point3& origin () const { return orig; }
28
+ const vec3& direction () const { return dir; }
29
+
30
+ double time () const { return tm; }
30
31
31
32
point3 at (double t) const {
32
33
return orig + t*dir;
You can’t perform that action at this time.
0 commit comments