lux::Paraboloid Class Reference

#include <paraboloid.h>

Inheritance diagram for lux::Paraboloid:
[legend]
Collaboration diagram for lux::Paraboloid:
[legend]

List of all members.

Public Member Functions

 Paraboloid (const Transform &o2w, bool ro, float rad, float z0, float z1, float tm)
virtual ~Paraboloid ()
virtual BBox ObjectBound () const
virtual bool Intersect (const Ray &ray, float *tHit, DifferentialGeometry *dg) const
virtual bool IntersectP (const Ray &ray) const
virtual float Area () const

Static Public Member Functions

static ShapeCreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet &params)

Protected Attributes

float radius
float zmin
float zmax
float phiMax

Detailed Description

Definition at line 30 of file paraboloid.h.


Constructor & Destructor Documentation

Paraboloid::Paraboloid ( const Transform o2w,
bool  ro,
float  rad,
float  z0,
float  z1,
float  tm 
)

Definition at line 31 of file paraboloid.cpp.

References Clamp(), cimg_library::cimg::max(), cimg_library::cimg::min(), phiMax, Radians(), radius, zmax, and zmin.

Referenced by CreateShape().

virtual lux::Paraboloid::~Paraboloid (  )  [inline, virtual]

Definition at line 35 of file paraboloid.h.


Member Function Documentation

float Paraboloid::Area (  )  const [virtual]

Returns the area of this primitive.

Reimplemented from lux::Primitive.

Definition at line 174 of file paraboloid.cpp.

References phiMax, zmax, and zmin.

Shape * Paraboloid::CreateShape ( const Transform o2w,
bool  reverseOrientation,
const ParamSet params 
) [static]

Definition at line 178 of file paraboloid.cpp.

References lux::ParamSet::FindOneFloat(), Paraboloid(), radius, zmax, and zmin.

bool Paraboloid::Intersect ( const Ray ray,
float *  tHit,
DifferentialGeometry dg 
) const [virtual]
bool Paraboloid::IntersectP ( const Ray r  )  const [virtual]

Tests for intersection of this primitive with the given ray.

Parameters:
r The ray to intersect with this primitive.
Returns:
Whether an intersection was found.

Reimplemented from lux::Primitive.

Definition at line 131 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]

Reimplemented from lux::Shape.

Definition at line 40 of file paraboloid.cpp.

References radius, zmax, and zmin.


Member Data Documentation

float lux::Paraboloid::phiMax [protected]

Definition at line 47 of file paraboloid.h.

Referenced by Area(), Intersect(), IntersectP(), and Paraboloid().

float lux::Paraboloid::radius [protected]

Definition at line 45 of file paraboloid.h.

Referenced by CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().

float lux::Paraboloid::zmax [protected]

Definition at line 46 of file paraboloid.h.

Referenced by Area(), CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().

float lux::Paraboloid::zmin [protected]

Definition at line 46 of file paraboloid.h.

Referenced by Area(), CreateShape(), Intersect(), IntersectP(), ObjectBound(), and Paraboloid().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208