lux::Camera Class Reference

#include <camera.h>

Inheritance diagram for lux::Camera:
[legend]
Collaboration diagram for lux::Camera:
[legend]

List of all members.

Public Member Functions

 Camera (const Transform &w2cstart, const Transform &w2cend, float hither, float yon, float sopen, float sclose, int sdist, Film *film)
virtual ~Camera ()
virtual float GenerateRay (const Sample &sample, Ray *ray) const =0
virtual bool Sample_W (const TsPack *tspack, const Scene *scene, float u1, float u2, float u3, BSDF **bsdf, float *pdf, SWCSpectrum *We) const
virtual bool Sample_W (const TsPack *tspack, const Scene *scene, const Point &p, const Normal &n, float u1, float u2, float u3, BSDF **bsdf, float *pdf, float *pdfDirect, VisibilityTester *visibility, SWCSpectrum *We) const
virtual bool GetSamplePosition (const Point &p, const Vector &wi, float distance, float *x, float *y) const
virtual void ClampRay (Ray &ray) const
virtual bool IsDelta () const
virtual bool IsLensBased () const
virtual void AutoFocus (Scene *scene)
virtual BBox Bounds () const
float GetTime (float u1) const
virtual void SampleMotion (float time)
virtual CameraClone () const =0

Public Attributes

Filmfilm

Protected Attributes

Transform WorldToCamera
Transform CameraToWorld
MotionSystem CameraMotion
float ClipHither
float ClipYon
float ShutterOpen
float ShutterClose
int ShutterDistribution
bool warnOnce

Detailed Description

Definition at line 34 of file camera.h.


Constructor & Destructor Documentation

Camera::Camera ( const Transform w2cstart,
const Transform w2cend,
float  hither,
float  yon,
float  sopen,
float  sclose,
int  sdist,
Film film 
)
Camera::~Camera (  )  [virtual]

Definition at line 33 of file camera.cpp.

References film.


Member Function Documentation

virtual void lux::Camera::AutoFocus ( Scene scene  )  [inline, virtual]

Reimplemented in lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 57 of file camera.h.

Referenced by lux::Scene::Render().

virtual BBox lux::Camera::Bounds (  )  const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 58 of file camera.h.

Referenced by lux::Scene::Scene().

virtual void lux::Camera::ClampRay ( Ray ray  )  const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 54 of file camera.h.

Referenced by generateEyePath().

virtual Camera* lux::Camera::Clone (  )  const [pure virtual]
virtual float lux::Camera::GenerateRay ( const Sample sample,
Ray ray 
) const [pure virtual]
virtual bool lux::Camera::GetSamplePosition ( const Point p,
const Vector wi,
float  distance,
float *  x,
float *  y 
) const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 53 of file camera.h.

Referenced by getDirectLight(), and lux::BidirIntegrator::Li().

float Camera::GetTime ( float  u1  )  const
bool Camera::IsDelta (  )  const [virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 51 of file camera.cpp.

References LUX_BUG, LUX_SEVERE, and luxError.

virtual bool lux::Camera::IsLensBased (  )  const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, and lux::OrthoCamera.

Definition at line 56 of file camera.h.

Referenced by generateEyePath(), and lux::BidirIntegrator::Li().

virtual bool lux::Camera::Sample_W ( const TsPack tspack,
const Scene scene,
const Point p,
const Normal n,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
float *  pdfDirect,
VisibilityTester visibility,
SWCSpectrum We 
) const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 47 of file camera.h.

References LUX_BUG, LUX_SEVERE, luxError, and warnOnce.

virtual bool lux::Camera::Sample_W ( const TsPack tspack,
const Scene scene,
float  u1,
float  u2,
float  u3,
BSDF **  bsdf,
float *  pdf,
SWCSpectrum We 
) const [inline, virtual]

Reimplemented in lux::EnvironmentCamera, lux::OrthoCamera, and lux::PerspectiveCamera.

Definition at line 41 of file camera.h.

References LUX_BUG, LUX_SEVERE, luxError, and warnOnce.

Referenced by lux::BidirIntegrator::Li().

void Camera::SampleMotion ( float  time  )  [virtual]

Member Data Documentation

Definition at line 71 of file camera.h.

Referenced by lux::ProjectiveCamera::SampleMotion(), and SampleMotion().

float lux::Camera::ClipHither [protected]
float lux::Camera::ClipYon [protected]
float lux::Camera::ShutterClose [protected]

Definition at line 73 of file camera.h.

Referenced by Camera(), and GetTime().

Definition at line 74 of file camera.h.

Referenced by Camera(), and GetTime().

float lux::Camera::ShutterOpen [protected]

Definition at line 73 of file camera.h.

Referenced by Camera(), and GetTime().

bool lux::Camera::warnOnce [mutable, protected]

Definition at line 75 of file camera.h.

Referenced by Camera(), and Sample_W().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208