geometry.h File Reference

#include "pbrt.h"
#include <float.h>

Go to the source code of this file.

Classes

class  Vector
class  Point
class  Normal
class  Ray
class  RayDifferential
class  BBox

Functions

ostream & operator<< (ostream &os, const Vector &v)
Vector operator* (float f, const Vector &v)
float Dot (const Vector &v1, const Vector &v2)
float AbsDot (const Vector &v1, const Vector &v2)
Vector Cross (const Vector &v1, const Vector &v2)
Vector Cross (const Vector &v1, const Normal &v2)
Vector Cross (const Normal &v1, const Vector &v2)
Vector Normalize (const Vector &v)
void CoordinateSystem (const Vector &v1, Vector *v2, Vector *v3)
float Distance (const Point &p1, const Point &p2)
float DistanceSquared (const Point &p1, const Point &p2)
ostream & operator<< (ostream &os, const Point &v)
Point operator* (float f, const Point &p)
Normal operator* (float f, const Normal &n)
Normal Normalize (const Normal &n)
float Dot (const Normal &n1, const Vector &v2)
float Dot (const Vector &v1, const Normal &n2)
float Dot (const Normal &n1, const Normal &n2)
float AbsDot (const Normal &n1, const Vector &v2)
float AbsDot (const Vector &v1, const Normal &n2)
float AbsDot (const Normal &n1, const Normal &n2)
ostream & operator<< (ostream &os, const Normal &v)
ostream & operator<< (ostream &os, Ray &r)
ostream & operator<< (ostream &os, const BBox &b)
Vector SphericalDirection (float sintheta, float costheta, float phi)
Vector SphericalDirection (float sintheta, float costheta, float phi, const Vector &x, const Vector &y, const Vector &z)
float SphericalTheta (const Vector &v)
float SphericalPhi (const Vector &v)


Function Documentation

float AbsDot ( const Normal n1,
const Normal n2 
) [inline]

Definition at line 366 of file geometry.h.

References Normal::x, Normal::y, and Normal::z.

float AbsDot ( const Vector v1,
const Normal n2 
) [inline]

Definition at line 363 of file geometry.h.

References Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.

float AbsDot ( const Normal n1,
const Vector v2 
) [inline]

Definition at line 360 of file geometry.h.

References Vector::x, Normal::x, Vector::y, Normal::y, Vector::z, and Normal::z.

float AbsDot ( const Vector v1,
const Vector v2 
) [inline]

void CoordinateSystem ( const Vector v1,
Vector v2,
Vector v3 
) [inline]

Vector Cross ( const Normal v1,
const Vector v2 
) [inline]

Definition at line 311 of file geometry.h.

References Vector::Vector(), Normal::x, Vector::x, Vector::y, Normal::y, Normal::z, and Vector::z.

Vector Cross ( const Vector v1,
const Normal v2 
) [inline]

Definition at line 306 of file geometry.h.

References Vector::Vector(), Vector::x, Normal::x, Normal::y, Vector::y, Vector::z, and Normal::z.

Vector Cross ( const Vector v1,
const Vector v2 
) [inline]

float Distance ( const Point p1,
const Point p2 
) [inline]

Definition at line 330 of file geometry.h.

Referenced by BBox::BoundingSphere(), and HomogeneousVolume::Tau().

float DistanceSquared ( const Point p1,
const Point p2 
) [inline]

float Dot ( const Normal n1,
const Normal n2 
) [inline]

Definition at line 357 of file geometry.h.

References Normal::x, Normal::y, and Normal::z.

float Dot ( const Vector v1,
const Normal n2 
) [inline]

Definition at line 354 of file geometry.h.

References Normal::x, Vector::x, Normal::y, Vector::y, Normal::z, and Vector::z.

float Dot ( const Normal n1,
const Vector v2 
) [inline]

Definition at line 351 of file geometry.h.

References Vector::x, Normal::x, Vector::y, Normal::y, Vector::z, and Normal::z.

float Dot ( const Vector v1,
const Vector v2 
) [inline]

Normal Normalize ( const Normal n  )  [inline]

Definition at line 346 of file geometry.h.

References Normal::Length().

Vector Normalize ( const Vector v  )  [inline]

Normal operator* ( float  f,
const Normal n 
) [inline]

Definition at line 343 of file geometry.h.

References Normal::x, Normal::y, and Normal::z.

Point operator* ( float  f,
const Point p 
) [inline]

Definition at line 340 of file geometry.h.

Vector operator* ( float  f,
const Vector v 
) [inline]

Definition at line 292 of file geometry.h.

ostream& operator<< ( ostream &  os,
const BBox b 
) [inline]

Definition at line 379 of file geometry.h.

References BBox::pMax, and BBox::pMin.

ostream& operator<< ( ostream &  os,
Ray r 
) [inline]

Definition at line 373 of file geometry.h.

References Ray::d, Ray::maxt, Ray::mint, Ray::o, and Ray::time.

ostream& operator<< ( ostream &  os,
const Normal v 
) [inline]

Definition at line 369 of file geometry.h.

References Normal::x, Normal::y, and Normal::z.

ostream& operator<< ( ostream &  os,
const Point v 
) [inline]

Definition at line 336 of file geometry.h.

References Point::x, Point::y, and Point::z.

ostream& operator<< ( ostream &  os,
const Vector v 
) [inline]

Definition at line 288 of file geometry.h.

References Vector::x, Vector::y, and Vector::z.

Vector SphericalDirection ( float  sintheta,
float  costheta,
float  phi,
const Vector x,
const Vector y,
const Vector z 
) [inline]

Definition at line 389 of file geometry.h.

Vector SphericalDirection ( float  sintheta,
float  costheta,
float  phi 
) [inline]

Definition at line 383 of file geometry.h.

References Vector::Vector().

Referenced by Anisotropic::Sample_f(), Blinn::Sample_f(), and SampleHG().

float SphericalPhi ( const Vector v  )  [inline]

float SphericalTheta ( const Vector v  )  [inline]


Generated on Mon Jul 20 17:31:54 2009 for pbrt by  doxygen 1.5.6