lux::Hyperboloid Class Reference

#include <hyperboloid.h>

Inheritance diagram for lux::Hyperboloid:

lux::Shape

List of all members.

Public Member Functions

 Hyperboloid (const Transform &o2w, bool ro, const Point &point1, const Point &point2, 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 ShapeCreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet &params)

Protected Attributes

Point p1
Point p2
float zmin
float zmax
float phiMax
float rmax
float a
float c


Detailed Description

Definition at line 30 of file hyperboloid.h.


Constructor & Destructor Documentation

Hyperboloid::Hyperboloid ( const Transform o2w,
bool  ro,
const Point point1,
const Point point2,
float  tm 
)


Member Function Documentation

float Hyperboloid::Area (  )  const [virtual]

Reimplemented from lux::Shape.

Definition at line 207 of file hyperboloid.cpp.

References p1, p2, phiMax, QUAD, SQR, lux::Point::x, lux::Point::y, and lux::Point::z.

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

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

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

BBox Hyperboloid::ObjectBound (  )  const [virtual]

Implements lux::Shape.

Definition at line 54 of file hyperboloid.cpp.

References p1, p2, rmax, zmax, and zmin.


Member Data Documentation

float lux::Hyperboloid::a [protected]

Definition at line 49 of file hyperboloid.h.

Referenced by Hyperboloid(), Intersect(), and IntersectP().

float lux::Hyperboloid::c [protected]

Definition at line 49 of file hyperboloid.h.

Referenced by Hyperboloid(), Intersect(), and IntersectP().

Definition at line 45 of file hyperboloid.h.

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

Definition at line 45 of file hyperboloid.h.

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

float lux::Hyperboloid::phiMax [protected]

Definition at line 47 of file hyperboloid.h.

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

float lux::Hyperboloid::rmax [protected]

Definition at line 48 of file hyperboloid.h.

Referenced by Hyperboloid(), and ObjectBound().

float lux::Hyperboloid::zmax [protected]

Definition at line 46 of file hyperboloid.h.

Referenced by Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().

float lux::Hyperboloid::zmin [protected]

Definition at line 46 of file hyperboloid.h.

Referenced by Hyperboloid(), Intersect(), IntersectP(), and ObjectBound().


The documentation for this class was generated from the following files:

Generated on Mon May 18 07:15:19 2009 for lux by  doxygen 1.5.7.1