Transform Class Reference

#include <transform.h>

List of all members.

Public Member Functions

 Transform ()
 Transform (const float mat[4][4])
 Transform (const Matrix4x4 &mat)
 Transform (const Matrix4x4 &mat, const Matrix4x4 &minv)
void Print (FILE *f) const
bool operator== (const Transform &t) const
bool operator!= (const Transform &t) const
bool operator< (const Transform &t2) const
bool IsIdentity () const
const Matrix4x4GetMatrix () const
const Matrix4x4GetInverseMatrix () 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
RayDifferential operator() (const RayDifferential &r) const
void operator() (const RayDifferential &r, RayDifferential *rt) const
BBox operator() (const BBox &b) const
Transform operator* (const Transform &t2) const
bool SwapsHandedness () const

Private Attributes

Matrix4x4 m
Matrix4x4 mInv

Friends

class AnimatedTransform
struct Quaternion
Transform Inverse (const Transform &t)

Detailed Description

Definition at line 92 of file transform.h.


Constructor & Destructor Documentation

Transform::Transform (  )  [inline]

Definition at line 95 of file transform.h.

Referenced by operator*().

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

Definition at line 96 of file transform.h.

References Inverse, m, and mInv.

Transform::Transform ( const Matrix4x4 mat  )  [inline]

Definition at line 103 of file transform.h.

Transform::Transform ( const Matrix4x4 mat,
const Matrix4x4 minv 
) [inline]

Definition at line 106 of file transform.h.


Member Function Documentation

const Matrix4x4& Transform::GetInverseMatrix (  )  const [inline]

Definition at line 138 of file transform.h.

References mInv.

const Matrix4x4& Transform::GetMatrix (  )  const [inline]

Definition at line 137 of file transform.h.

References m.

bool Transform::HasScale (  )  const [inline]

Definition at line 139 of file transform.h.

References NOT_ONE.

Referenced by AnimatedTransform::HasScale(), and Light::Light().

bool Transform::IsIdentity (  )  const [inline]

Definition at line 127 of file transform.h.

References Matrix4x4::m, and m.

Referenced by TransformedPrimitive::Intersect().

bool Transform::operator!= ( const Transform t  )  const [inline]

Definition at line 116 of file transform.h.

References m, and mInv.

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

Definition at line 257 of file transform.cpp.

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

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

Definition at line 249 of file transform.h.

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

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

Definition at line 241 of file transform.h.

References Ray::d, and Ray::o.

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

Definition at line 229 of file transform.h.

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

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

Definition at line 221 of file transform.h.

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

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

Definition at line 212 of file transform.h.

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

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

Definition at line 204 of file transform.h.

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

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

Definition at line 193 of file transform.h.

References Matrix4x4::m, m, Quaternion::w, Point::x, Point::y, and Point::z.

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

Definition at line 181 of file transform.h.

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

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

Definition at line 271 of file transform.cpp.

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

bool Transform::operator< ( const Transform t2  )  const [inline]

Definition at line 119 of file transform.h.

References Matrix4x4::m, and m.

bool Transform::operator== ( const Transform t  )  const [inline]

Definition at line 113 of file transform.h.

References m, and mInv.

void Transform::Print ( FILE *  f  )  const

Definition at line 132 of file transform.cpp.

References m, and Matrix4x4::Print().

bool Transform::SwapsHandedness (  )  const

Definition at line 278 of file transform.cpp.

References Matrix4x4::m, and m.


Friends And Related Function Documentation

friend class AnimatedTransform [friend]

Definition at line 163 of file transform.h.

Transform Inverse ( const Transform t  )  [friend]

Definition at line 110 of file transform.h.

Referenced by Transform().

friend struct Quaternion [friend]

Definition at line 164 of file transform.h.


Member Data Documentation

Definition at line 162 of file transform.h.

Referenced by GetInverseMatrix(), operator!=(), operator()(), operator*(), operator==(), and Transform().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:15 2010 for pbrt by  doxygen 1.6.3