Hyperboloid Class Reference

#include <hyperboloid.h>

Inheritance diagram for Hyperboloid:
Shape ReferenceCounted

List of all members.

Public Member Functions

 Hyperboloid (const Transform *o2w, const Transform *w2o, bool ro, const Point &point1, const Point &point2, float tm)
BBox ObjectBound () const
bool Intersect (const Ray &ray, float *tHit, float *rayEpsilon, DifferentialGeometry *dg) const
bool IntersectP (const Ray &ray) const
float Area () const

Protected Attributes

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

Detailed Description

Definition at line 35 of file hyperboloid.h.


Constructor & Destructor Documentation

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

Definition at line 31 of file hyperboloid.cpp.

References a, c, Clamp(), p1, p2, phiMax, Radians(), rmax, Point::x, Point::y, Point::z, zmax, and zmin.


Member Function Documentation

float Hyperboloid::Area (  )  const [virtual]

Reimplemented from Shape.

Definition at line 233 of file hyperboloid.cpp.

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

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

Reimplemented from Shape.

Definition at line 170 of file hyperboloid.cpp.

References a, c, Ray::d, M_PI, Ray::maxt, Ray::mint, Ray::o, p1, p2, phiMax, Quadratic(), Point::x, Vector::x, Point::y, Vector::y, Point::z, Vector::z, zmax, and zmin.

BBox Hyperboloid::ObjectBound (  )  const [virtual]

Implements Shape.

Definition at line 57 of file hyperboloid.cpp.

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


Member Data Documentation

float Hyperboloid::a [protected]

Definition at line 52 of file hyperboloid.h.

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

float Hyperboloid::c [protected]

Definition at line 52 of file hyperboloid.h.

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

Point Hyperboloid::p1 [protected]

Definition at line 48 of file hyperboloid.h.

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

Point Hyperboloid::p2 [protected]

Definition at line 48 of file hyperboloid.h.

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

float Hyperboloid::phiMax [protected]

Definition at line 50 of file hyperboloid.h.

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

float Hyperboloid::rmax [protected]

Definition at line 51 of file hyperboloid.h.

Referenced by Hyperboloid(), and ObjectBound().

float Hyperboloid::zmax [protected]

Definition at line 49 of file hyperboloid.h.

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

float Hyperboloid::zmin [protected]

Definition at line 49 of file hyperboloid.h.

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


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