Public Member Functions | |
Hyperboloid (const Transform &o2w, bool ro, const Point &point1, const Point &point2, float tm) | |
BBox | ObjectBound () const |
bool | Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const |
bool | IntersectP (const Ray &ray) const |
float | Area () const |
Protected Attributes | |
Point | p1 |
Point | p2 |
float | zmin |
float | zmax |
float | phiMax |
float | rmax |
float | a |
float | c |
Definition at line 27 of file hyperboloid.cpp.
BBox Hyperboloid::ObjectBound | ( | ) | const [virtual] |
bool Hyperboloid::Intersect | ( | const Ray & | ray, | |
float * | tHit, | |||
DifferentialGeometry * | dg | |||
) | const [virtual] |
Reimplemented from Shape.
Definition at line 76 of file hyperboloid.cpp.
References a, c, Cross(), Ray::d, Dot(), M_PI, Ray::maxt, Ray::mint, N, Normalize(), Ray::o, Shape::ObjectToWorld, p1, p2, phiMax, Quadratic(), Shape::WorldToObject, Point::x, Vector::x, Point::y, Vector::y, Point::z, Vector::z, zmax, and zmin.
bool Hyperboloid::IntersectP | ( | const Ray & | ray | ) | const [virtual] |
float Hyperboloid::Area | ( | ) | const [virtual] |
Point Hyperboloid::p1 [protected] |
Definition at line 40 of file hyperboloid.cpp.
Referenced by Area(), CreateShape(), Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().
Point Hyperboloid::p2 [protected] |
Definition at line 40 of file hyperboloid.cpp.
Referenced by Area(), CreateShape(), Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().
float Hyperboloid::zmin [protected] |
Definition at line 41 of file hyperboloid.cpp.
Referenced by Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().
float Hyperboloid::zmax [protected] |
Definition at line 41 of file hyperboloid.cpp.
Referenced by Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().
float Hyperboloid::phiMax [protected] |
Definition at line 42 of file hyperboloid.cpp.
Referenced by Area(), Hyperboloid(), Intersect(), and IntersectP().
float Hyperboloid::rmax [protected] |
float Hyperboloid::a [protected] |
Definition at line 44 of file hyperboloid.cpp.
Referenced by Hyperboloid(), Intersect(), and IntersectP().
float Hyperboloid::c [protected] |
Definition at line 44 of file hyperboloid.cpp.
Referenced by Hyperboloid(), Intersect(), and IntersectP().