Transform Class Reference

#include <transform.h>

List of all members.

Public Member Functions

 Transform ()
 Transform (float mat[4][4])
 Transform (const Reference< Matrix4x4 > &mat)
 Transform (const Reference< Matrix4x4 > &mat, const Reference< Matrix4x4 > &minv)
Transform GetInverse () const
bool HasScale () const
Point operator() (const Point &pt) const
void operator() (const Point &pt, Point *ptrans) const
Vector operator() (const Vector &v) const
void operator() (const Vector &v, Vector *vt) const
Normal operator() (const Normal &) const
void operator() (const Normal &, Normal *nt) const
Ray operator() (const Ray &r) const
void operator() (const Ray &r, Ray *rt) const
BBox operator() (const BBox &b) const
Transform operator * (const Transform &t2) const
bool SwapsHandedness () const

Private Attributes

Reference< Matrix4x4m
Reference< Matrix4x4mInv

Friends

ostream & operator<< (ostream &, const Transform &)


Detailed Description

Definition at line 17 of file transform.h.


Constructor & Destructor Documentation

Transform::Transform (  )  [inline]

Definition at line 20 of file transform.h.

Referenced by operator *().

Transform::Transform ( float  mat[4][4]  )  [inline]

Definition at line 23 of file transform.h.

Transform::Transform ( const Reference< Matrix4x4 > &  mat  )  [inline]

Definition at line 30 of file transform.h.

Transform::Transform ( const Reference< Matrix4x4 > &  mat,
const Reference< Matrix4x4 > &  minv 
) [inline]

Definition at line 34 of file transform.h.


Member Function Documentation

Transform Transform::GetInverse (  )  const [inline]

Definition at line 40 of file transform.h.

Referenced by Camera::Camera(), CreateFloatTexture(), CreateLight(), CreateSpectrumTexture(), DensityRegion::DensityRegion(), GeometricPrimitive::GetBSDF(), HomogeneousVolume::HomogeneousVolume(), InstancePrimitive::InstancePrimitive(), pbrtCamera(), ProjectiveCamera::ProjectiveCamera(), VolumeGrid::WorldBound(), HomogeneousVolume::WorldBound(), and ExponentialDensity::WorldBound().

bool Transform::HasScale (  )  const

Definition at line 126 of file transform.cpp.

References m.

Referenced by Camera::Camera().

Point Transform::operator() ( const Point pt  )  const [inline]

Definition at line 60 of file transform.h.

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

void Transform::operator() ( const Point pt,
Point ptrans 
) const [inline]

Definition at line 71 of file transform.h.

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

Vector Transform::operator() ( const Vector v  )  const [inline]

Definition at line 80 of file transform.h.

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

void Transform::operator() ( const Vector v,
Vector vt 
) const [inline]

Definition at line 86 of file transform.h.

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

Normal Transform::operator() ( const Normal  )  const [inline]

Definition at line 93 of file transform.h.

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

void Transform::operator() ( const Normal ,
Normal nt 
) const [inline]

Definition at line 99 of file transform.h.

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

Ray Transform::operator() ( const Ray r  )  const [inline]

Definition at line 106 of file transform.h.

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

void Transform::operator() ( const Ray r,
Ray rt 
) const [inline]

Definition at line 115 of file transform.h.

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

BBox Transform::operator() ( const BBox b  )  const

Definition at line 135 of file transform.cpp.

References M, BBox::pMax, BBox::pMin, Union(), Point::x, Point::y, and Point::z.

Transform Transform::operator * ( const Transform t2  )  const

Definition at line 147 of file transform.cpp.

References m, mInv, Matrix4x4::Mul(), and Transform().

bool Transform::SwapsHandedness (  )  const

Definition at line 152 of file transform.cpp.

References m.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  os,
const Transform t 
) [friend]

Definition at line 15 of file transform.cpp.


Member Data Documentation

Reference<Matrix4x4> Transform::m [private]

Definition at line 57 of file transform.h.

Referenced by HasScale(), operator *(), operator()(), operator<<(), and SwapsHandedness().

Reference<Matrix4x4> Transform::mInv [private]

Definition at line 57 of file transform.h.

Referenced by operator *(), and operator()().


The documentation for this class was generated from the following files:
Generated on Wed Sep 26 14:01:28 2007 for pbrt by  doxygen 1.5.1