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 508508
509509 ray(const point3& origin, const vec3& direction) : orig(origin), dir(direction) {}
510510
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; }
513513
514514 point3 at(double t) const {
515515 return orig + t*dir;
526526
527527</ div>
528528
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+
529533
530534Sending Rays Into the Scene
531535----------------------------
Original file line number Diff line number Diff line change 7878 : orig(origin), dir(direction), tm(time) {}
7979 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++
8080
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+
8385 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight
84- double time() const { return tm; }
86+ double time() const { return tm; }
8587 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++
8688
8789 point3 at(double t) const {
Original file line number Diff line number Diff line change @@ -20,8 +20,8 @@ class ray {
2020
2121 ray (const point3& origin, const vec3& direction) : orig(origin), dir(direction) {}
2222
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; }
2525
2626 point3 at (double t) const {
2727 return orig + t*dir;
Original file line number Diff line number Diff line change @@ -24,9 +24,10 @@ class ray {
2424 ray (const point3& origin, const vec3& direction, double time)
2525 : orig(origin), dir(direction), tm(time) {}
2626
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; }
3031
3132 point3 at (double t) const {
3233 return orig + t*dir;
Original file line number Diff line number Diff line change @@ -24,9 +24,10 @@ class ray {
2424 ray (const point3& origin, const vec3& direction, double time)
2525 : orig(origin), dir(direction), tm(time) {}
2626
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; }
3031
3132 point3 at (double t) const {
3233 return orig + t*dir;
You can’t perform that action at this time.
0 commit comments