#include <cylinder.h>

Public Member Functions | |
| Cylinder (const Transform &o2w, bool ro, float rad, float zmin, float zmax, float phiMax) | |
| BBox | ObjectBound () const |
| bool | Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const |
| bool | IntersectP (const Ray &ray) const |
| float | Area () const |
| Point | Sample (float u1, float u2, Normal *Ns) 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 cylinder.h.
| Cylinder::Cylinder | ( | const Transform & | o2w, | |
| bool | ro, | |||
| float | rad, | |||
| float | zmin, | |||
| float | zmax, | |||
| float | phiMax | |||
| ) |
Definition at line 30 of file cylinder.cpp.
References Clamp(), cimg_library::cimg::max(), cimg_library::cimg::min(), phiMax, Radians(), radius, zmax, and zmin.
Referenced by CreateShape().
| float Cylinder::Area | ( | ) | const [virtual] |
| Shape * Cylinder::CreateShape | ( | const Transform & | o2w, | |
| bool | reverseOrientation, | |||
| const ParamSet & | params | |||
| ) | [static] |
Definition at line 160 of file cylinder.cpp.
References Cylinder(), lux::ParamSet::FindOneFloat(), radius, zmax, and zmin.
Referenced by lux::MakeShape().
| bool Cylinder::Intersect | ( | const Ray & | ray, | |
| float * | tHit, | |||
| DifferentialGeometry * | dg | |||
| ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 43 of file cylinder.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, zmax, and zmin.
| bool Cylinder::IntersectP | ( | const Ray & | ray | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 117 of file cylinder.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, zmax, and zmin.
| BBox Cylinder::ObjectBound | ( | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 40 of file cylinder.h.
References Lerp(), lux::Normalize(), lux::Shape::ObjectToWorld, blender::p, radius, lux::Shape::reverseOrientation, lux::Point::x, and lux::Point::y.
float lux::Cylinder::phiMax [protected] |
Definition at line 55 of file cylinder.h.
Referenced by Area(), Cylinder(), Intersect(), and IntersectP().
float lux::Cylinder::radius [protected] |
Definition at line 53 of file cylinder.h.
Referenced by Area(), CreateShape(), Cylinder(), Intersect(), IntersectP(), ObjectBound(), and Sample().
float lux::Cylinder::zmax [protected] |
Definition at line 54 of file cylinder.h.
Referenced by Area(), CreateShape(), Cylinder(), Intersect(), IntersectP(), and ObjectBound().
float lux::Cylinder::zmin [protected] |
Definition at line 54 of file cylinder.h.
Referenced by Area(), CreateShape(), Cylinder(), Intersect(), IntersectP(), and ObjectBound().
1.5.9