#include <disk.h>
Public Member Functions | |
Disk (const Transform *o2w, const Transform *w2o, bool ro, float height, float radius, float innerRadius, float phiMax) | |
BBox | ObjectBound () const |
bool | Intersect (const Ray &ray, float *tHit, float *rayEpsilon, DifferentialGeometry *dg) const |
bool | IntersectP (const Ray &ray) const |
float | Area () const |
Point | Sample (float u1, float u2, Normal *Ns) const |
Private Attributes | |
float | height |
float | radius |
float | innerRadius |
float | phiMax |
Definition at line 35 of file disk.h.
float Disk::Area | ( | ) | const [virtual] |
bool Disk::Intersect | ( | const Ray & | ray, | |
float * | tHit, | |||
float * | rayEpsilon, | |||
DifferentialGeometry * | dg | |||
) | const [virtual] |
bool Disk::IntersectP | ( | const Ray & | ray | ) | const [virtual] |
BBox Disk::ObjectBound | ( | ) | const [virtual] |
Reimplemented from Shape.
Definition at line 138 of file disk.cpp.
References ConcentricSampleDisk(), height, Normalize(), Shape::ObjectToWorld, radius, Shape::ReverseOrientation, Point::x, Point::y, and Point::z.
float Disk::height [private] |
Definition at line 48 of file disk.h.
Referenced by Disk(), Intersect(), IntersectP(), ObjectBound(), and Sample().
float Disk::innerRadius [private] |
Definition at line 48 of file disk.h.
Referenced by Area(), Disk(), Intersect(), and IntersectP().
float Disk::phiMax [private] |
Definition at line 48 of file disk.h.
Referenced by Area(), Disk(), Intersect(), and IntersectP().
float Disk::radius [private] |
Definition at line 48 of file disk.h.
Referenced by Area(), Disk(), Intersect(), IntersectP(), ObjectBound(), and Sample().