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 30 of file transform.h.


Constructor & Destructor Documentation

Transform::Transform (  )  [inline]

Definition at line 33 of file transform.h.

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

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

Definition at line 36 of file transform.h.

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

Definition at line 43 of file transform.h.

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

Definition at line 47 of file transform.h.


Member Function Documentation

Transform Transform::GetInverse (  )  const [inline]

bool Transform::HasScale (  )  const

Definition at line 139 of file transform.cpp.

References m.

Referenced by Camera::Camera().

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

Definition at line 73 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 84 of file transform.h.

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

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

Definition at line 93 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 99 of file transform.h.

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

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

Definition at line 106 of file transform.h.

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

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

Definition at line 112 of file transform.h.

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

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

Definition at line 119 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 128 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 148 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 160 of file transform.cpp.

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

bool Transform::SwapsHandedness (  )  const

Definition at line 165 of file transform.cpp.

References m.


Friends And Related Function Documentation

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

Definition at line 28 of file transform.cpp.


Member Data Documentation

Definition at line 70 of file transform.h.

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

Definition at line 70 of file transform.h.

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


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

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