#include <transform.h>
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 |
boost::shared_ptr< Matrix4x4 > | GetMatrix () 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< Matrix4x4 > | m |
boost::shared_ptr< Matrix4x4 > | mInv |
Static Private Attributes | |
static const boost::shared_ptr < Matrix4x4 > | MAT_IDENTITY |
Friends | |
ostream & | operator<< (ostream &, const Transform &) |
Definition at line 36 of file transform.h.
lux::Transform::Transform | ( | ) | [inline] |
Definition at line 39 of file transform.h.
References m, MAT_IDENTITY, and mInv.
Referenced by operator()(), and operator*().
lux::Transform::Transform | ( | float | mat[4][4] | ) | [inline] |
Definition at line 43 of file transform.h.
lux::Transform::Transform | ( | const boost::shared_ptr< Matrix4x4 > & | mat | ) | [inline] |
Definition at line 51 of file transform.h.
References m.
lux::Transform::Transform | ( | const boost::shared_ptr< Matrix4x4 > & | mat, | |
const boost::shared_ptr< Matrix4x4 > & | minv | |||
) | [inline] |
Definition at line 55 of file transform.h.
Transform lux::Transform::GetInverse | ( | ) | const [inline] |
Definition at line 61 of file transform.h.
Referenced by lux::OrthoCamera::Bounds(), lux::Context::camera(), lux::Camera::Camera(), lux::ImageFloatTexture::CreateFloatTexture(), lux::DotsTexture< T >::CreateFloatTexture(), lux::Checkerboard::CreateFloatTexture(), lux::BilerpFloatTexture::CreateFloatTexture(), lux::SpotLight::CreateLight(), lux::UVTexture::CreateSWCSpectrumTexture(), lux::ImageSpectrumTexture::CreateSWCSpectrumTexture(), lux::DotsTexture< T >::CreateSWCSpectrumTexture(), lux::Checkerboard::CreateSWCSpectrumTexture(), lux::BilerpSpectrumTexture::CreateSWCSpectrumTexture(), lux::DensityRegion::DensityRegion(), PerspectiveBxDF::f(), lux::Intersection::GetBSDF(), lux::MotionPrimitive::GetShadingGeometry(), lux::HomogeneousVolume::HomogeneousVolume(), lux::InstancePrimitive::InstancePrimitive(), lux::MotionPrimitive::Intersect(), lux::MotionPrimitive::IntersectP(), lux::OrthoCamera::OrthoCamera(), PerspectiveBxDF::Pdf(), lux::PerspectiveCamera::PerspectiveCamera(), lux::ProjectiveCamera::ProjectiveCamera(), lux::RealisticCamera::RealisticCamera(), lux::MotionPrimitive::Sample(), lux::ProjectiveCamera::SampleMotion(), lux::Camera::SampleMotion(), lux::VolumeGrid::WorldBound(), lux::HomogeneousVolume::WorldBound(), lux::ExponentialDensity::WorldBound(), and lux::Cloud::WorldBound().
boost::shared_ptr<Matrix4x4> lux::Transform::GetMatrix | ( | ) | const [inline] |
Definition at line 64 of file transform.h.
References m.
Referenced by lux::MotionSystem::MotionSystem().
bool lux::Transform::HasScale | ( | ) | const |
Definition at line 142 of file transform.cpp.
Referenced by lux::Light::Light().
Definition at line 151 of file transform.cpp.
References lux::BBox::pMax, lux::BBox::pMin, lux::Union(), lux::Point::x, lux::Point::y, and lux::Point::z.
Definition at line 101 of file transform.h.
References lux::Ray::d, lux::Ray::maxt, lux::Ray::mint, lux::Ray::o, and lux::Ray::time.
Definition at line 92 of file transform.h.
References lux::Ray::d, lux::Ray::maxt, lux::Ray::mint, lux::Ray::o, and lux::Ray::time.
Definition at line 68 of file transform.h.
Definition at line 61 of file transform.h.
References m, mInv, and Transform().
Definition at line 53 of file transform.h.
Definition at line 46 of file transform.h.
Definition at line 36 of file transform.h.
Definition at line 24 of file transform.h.
Definition at line 163 of file transform.cpp.
References m, mInv, lux::Matrix4x4::Mul(), and Transform().
bool lux::Transform::SwapsHandedness | ( | ) | const [inline] |
Definition at line 76 of file transform.h.
ostream& operator<< | ( | ostream & | os, | |
const Transform & | t | |||
) | [friend] |
Definition at line 34 of file transform.cpp.
boost::shared_ptr<Matrix4x4> lux::Transform::m [private] |
Definition at line 81 of file transform.h.
Referenced by GetMatrix(), operator()(), operator*(), lux::operator<<(), and Transform().
const boost::shared_ptr< Matrix4x4 > lux::Transform::MAT_IDENTITY [static, private] |
boost::shared_ptr<Matrix4x4>(new Matrix4x4())
Definition at line 83 of file transform.h.
Referenced by Transform().
boost::shared_ptr<Matrix4x4> lux::Transform::mInv [private] |
Definition at line 81 of file transform.h.
Referenced by operator()(), operator*(), and Transform().