Disk Class Reference

#include <disk.h>

Inheritance diagram for Disk:
Shape ReferenceCounted

List of all members.

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

Detailed Description

Definition at line 35 of file disk.h.


Constructor & Destructor Documentation

Disk::Disk ( const Transform o2w,
const Transform w2o,
bool  ro,
float  height,
float  radius,
float  innerRadius,
float  phiMax 
)

Definition at line 32 of file disk.cpp.

References Clamp(), height, innerRadius, phiMax, Radians(), and radius.


Member Function Documentation

float Disk::Area (  )  const [virtual]

Reimplemented from Shape.

Definition at line 122 of file disk.cpp.

References innerRadius, phiMax, and radius.

bool Disk::Intersect ( const Ray ray,
float *  tHit,
float *  rayEpsilon,
DifferentialGeometry dg 
) const [virtual]

Reimplemented from Shape.

Definition at line 48 of file disk.cpp.

References Ray::d, height, innerRadius, INV_TWOPI, M_PI, Ray::maxt, Ray::o, Shape::ObjectToWorld, phiMax, radius, Point::x, Point::y, Point::z, and Vector::z.

bool Disk::IntersectP ( const Ray ray  )  const [virtual]

Reimplemented from Shape.

Definition at line 96 of file disk.cpp.

References Ray::d, height, innerRadius, M_PI, Ray::maxt, Ray::o, phiMax, radius, Point::x, Point::y, Point::z, and Vector::z.

BBox Disk::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 42 of file disk.cpp.

References height, and radius.

Point Disk::Sample ( float  u1,
float  u2,
Normal Ns 
) const [virtual]

Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:13 2010 for pbrt by  doxygen 1.6.3