lux::Transform Class Reference

#include <transform.h>

List of all members.

Public Member Functions

 Transform ()
 Transform (float mat[4][4])
 Transform (const boost::shared_ptr< Matrix4x4 > &mat)
 Transform (const boost::shared_ptr< Matrix4x4 > &mat, const boost::shared_ptr< 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

boost::shared_ptr< Matrix4x4m
boost::shared_ptr< Matrix4x4mInv

Friends

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


Detailed Description

Definition at line 33 of file transform.h.


Constructor & Destructor Documentation

lux::Transform::Transform (  )  [inline]

Definition at line 36 of file transform.h.

References m, and mInv.

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

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

Definition at line 40 of file transform.h.

References m, and mInv.

lux::Transform::Transform ( const boost::shared_ptr< Matrix4x4 > &  mat  )  [inline]

Definition at line 48 of file transform.h.

References m, and mInv.

lux::Transform::Transform ( const boost::shared_ptr< Matrix4x4 > &  mat,
const boost::shared_ptr< Matrix4x4 > &  minv 
) [inline]

Definition at line 52 of file transform.h.

References m, and mInv.


Member Function Documentation

Transform lux::Transform::GetInverse (  )  const [inline]

bool lux::Transform::HasScale (  )  const

Definition at line 139 of file transform.cpp.

References m.

Referenced by lux::Camera::Camera(), and lux::Light::Light().

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

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

Definition at line 180 of file transform.h.

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

Definition at line 171 of file transform.h.

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

Definition at line 147 of file transform.h.

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

Definition at line 140 of file transform.h.

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

Definition at line 132 of file transform.h.

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

Definition at line 125 of file transform.h.

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

Definition at line 115 of file transform.h.

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

Definition at line 103 of file transform.h.

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

Definition at line 160 of file transform.cpp.

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

bool lux::Transform::SwapsHandedness (  )  const [inline]

Definition at line 155 of file transform.h.


Friends And Related Function Documentation

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

Definition at line 31 of file transform.cpp.


Member Data Documentation

boost::shared_ptr<Matrix4x4> lux::Transform::m [private]

Definition at line 75 of file transform.h.

Referenced by GetInverse(), HasScale(), operator*(), lux::operator<<(), and Transform().

boost::shared_ptr<Matrix4x4> lux::Transform::mInv [private]

Definition at line 75 of file transform.h.

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


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

Generated on Mon May 18 07:13:51 2009 for lux by  doxygen 1.5.8