定义光线,书中已经有原理。

类声明:

#ifndef __RAY_HEADER__
#define __RAY_HEADER__

#include "geometry.h"

class Ray {
public:
	Ray();
	~Ray();
	Ray(const Point3& ori , const Vector3& dir);
	Ray(const Ray& r);
	Ray& operator=(const Ray& r);
	Point3 o;
	Vector3 d;
};
#endif

 

类实现:

#include "pch.h"
#include "ray.h" //光线应该新建一个文件,这里是ray.h

Ray::Ray() :o(), d() {}

Ray::~Ray() {}

Ray::Ray(const Point3& ori, const Vector3& dir) : o(ori), d(dir) {}

Ray::Ray(const Ray& r) : o(r.o), d(r.d) {}

Ray& Ray::operator=(const Ray& r) {
	if (this == &r)
		return *this;
	o = r.o;
	d = r.d;
	return *this;
}

  

posted on 2020-03-31 03:39  dalgleish  阅读(194)  评论(0编辑  收藏  举报