# HG changeset patch # User John Tsiombikas # Date 1415536741 -7200 # Node ID 6e3a4daf3159bf9544e40772f2c12eddcdbb3abd # Parent 92695e89164b195043567a2e8be175625b0df2c0 adding cones diff -r 92695e89164b -r 6e3a4daf3159 src/cone.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cone.cc Sun Nov 09 14:39:01 2014 +0200 @@ -0,0 +1,20 @@ +#include "cone.h" + +Cone::Cone() +{ + angle = M_PI / 4.0; + ymin = 0.0f; + ymax = 1.0f; +} + +Cone::Cone(float angle, float ymin, float ymax) +{ + this->angle = angle; + this->ymin = ymin; + this->ymax = ymax; +} + +bool Cone::intersect(const Ray &ray, HitPoint *pt) const +{ + return false; // TODO +} diff -r 92695e89164b -r 6e3a4daf3159 src/cone.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cone.h Sun Nov 09 14:39:01 2014 +0200 @@ -0,0 +1,18 @@ +#ifndef CONE_H_ +#define CONE_H_ + +#include "vmath/vmath.h" +#include "object.h" + +class Cone : public Object { +public: + float angle; + float ymin, ymax; /* in local space */ + + Cone(); + explicit Cone(float angle, float ymin = 0.0f, float ymax = 1.0f); + + bool intersect(const Ray &ray, HitPoint *pt) const; +}; + +#endif /* CONE_H_ */