#include <paraboloid.h>
Public Member Functions | |
Paraboloid (const Transform &o2w, bool ro, float rad, float z0, float z1, float tm) | |
BBox | ObjectBound () const |
bool | Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const |
bool | IntersectP (const Ray &ray) const |
float | Area () const |
Static Public Member Functions | |
static Shape * | CreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet ¶ms) |
Protected Attributes | |
float | radius |
float | zmin |
float | zmax |
float | phiMax |
Definition at line 30 of file paraboloid.h.
Paraboloid::Paraboloid | ( | const Transform & | o2w, | |
bool | ro, | |||
float | rad, | |||
float | z0, | |||
float | z1, | |||
float | tm | |||
) |
Definition at line 30 of file paraboloid.cpp.
References Clamp(), cimg_library::cimg::max(), cimg_library::cimg::min(), phiMax, Radians(), radius, zmax, and zmin.
Referenced by CreateShape().
float Paraboloid::Area | ( | ) | const [virtual] |
Shape * Paraboloid::CreateShape | ( | const Transform & | o2w, | |
bool | reverseOrientation, | |||
const ParamSet & | params | |||
) | [static] |
Definition at line 177 of file paraboloid.cpp.
References lux::ParamSet::FindOneFloat(), Paraboloid(), radius, zmax, and zmin.
Referenced by lux::MakeShape().
bool Paraboloid::Intersect | ( | const Ray & | ray, | |
float * | tHit, | |||
DifferentialGeometry * | dg | |||
) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 44 of file paraboloid.cpp.
References lux::Cross(), lux::Ray::d, lux::Dot(), blender::g, M_PI, lux::Ray::maxt, lux::Ray::mint, N, lux::Normalize(), lux::Ray::o, lux::Shape::ObjectToWorld, phiMax, Quadratic(), radius, lux::Shape::WorldToObject, lux::Point::x, lux::Vector::x, lux::Point::y, lux::Vector::y, lux::Point::z, lux::Vector::z, zmax, and zmin.
bool Paraboloid::IntersectP | ( | const Ray & | ray | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 130 of file paraboloid.cpp.
References lux::Ray::d, M_PI, lux::Ray::maxt, lux::Ray::mint, lux::Ray::o, phiMax, Quadratic(), radius, lux::Shape::WorldToObject, lux::Point::x, lux::Vector::x, lux::Point::y, lux::Vector::y, lux::Point::z, lux::Vector::z, zmax, and zmin.
BBox Paraboloid::ObjectBound | ( | ) | const [virtual] |
float lux::Paraboloid::phiMax [protected] |
Definition at line 46 of file paraboloid.h.
Referenced by Area(), Intersect(), IntersectP(), and Paraboloid().
float lux::Paraboloid::radius [protected] |
Definition at line 44 of file paraboloid.h.
Referenced by CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().
float lux::Paraboloid::zmax [protected] |
Definition at line 45 of file paraboloid.h.
Referenced by Area(), CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().
float lux::Paraboloid::zmin [protected] |
Definition at line 45 of file paraboloid.h.
Referenced by Area(), CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().