lux::HomogeneousVolume Class Reference

#include <homogeneous.h>

Inheritance diagram for lux::HomogeneousVolume:

lux::VolumeRegion

List of all members.

Public Member Functions

 HomogeneousVolume (const Spectrum &sa, const Spectrum &ss, float gg, const Spectrum &emit, const BBox &e, const Transform &v2w)
BBox WorldBound () const
bool IntersectP (const Ray &r, float *t0, float *t1) const
Spectrum sigma_a (const Point &p, const Vector &) const
Spectrum sigma_s (const Point &p, const Vector &) const
Spectrum sigma_t (const Point &p, const Vector &) const
Spectrum Lve (const Point &p, const Vector &) const
float p (const Point &p, const Vector &wi, const Vector &wo) const
Spectrum Tau (const Ray &ray, float, float) const

Static Public Member Functions

static VolumeRegionCreateVolumeRegion (const Transform &volume2world, const ParamSet &params)

Private Attributes

Spectrum sig_a
Spectrum sig_s
Spectrum le
float g
BBox extent
Transform WorldToVolume


Detailed Description

Definition at line 30 of file homogeneous.h.


Constructor & Destructor Documentation

lux::HomogeneousVolume::HomogeneousVolume ( const Spectrum sa,
const Spectrum ss,
float  gg,
const Spectrum emit,
const BBox e,
const Transform v2w 
) [inline]

Definition at line 33 of file homogeneous.h.

References extent, g, lux::Transform::GetInverse(), le, sig_a, sig_s, and WorldToVolume.

Referenced by CreateVolumeRegion().


Member Function Documentation

VolumeRegion * HomogeneousVolume::CreateVolumeRegion ( const Transform volume2world,
const ParamSet params 
) [static]

bool lux::HomogeneousVolume::IntersectP ( const Ray r,
float *  t0,
float *  t1 
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 46 of file homogeneous.h.

References extent, lux::BBox::IntersectP(), and WorldToVolume.

Referenced by Tau().

Spectrum lux::HomogeneousVolume::Lve ( const Point p,
const Vector  
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 59 of file homogeneous.h.

References extent, lux::BBox::Inside(), le, and WorldToVolume.

float lux::HomogeneousVolume::p ( const Point p,
const Vector wi,
const Vector wo 
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 62 of file homogeneous.h.

References extent, g, lux::BBox::Inside(), lux::PhaseHG(), and WorldToVolume.

Spectrum lux::HomogeneousVolume::sigma_a ( const Point p,
const Vector  
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 50 of file homogeneous.h.

References extent, lux::BBox::Inside(), sig_a, and WorldToVolume.

Referenced by CreateVolumeRegion().

Spectrum lux::HomogeneousVolume::sigma_s ( const Point p,
const Vector  
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 53 of file homogeneous.h.

References extent, lux::BBox::Inside(), sig_s, and WorldToVolume.

Referenced by CreateVolumeRegion().

Spectrum lux::HomogeneousVolume::sigma_t ( const Point p,
const Vector  
) const [inline, virtual]

Reimplemented from lux::VolumeRegion.

Definition at line 56 of file homogeneous.h.

References extent, lux::BBox::Inside(), sig_a, sig_s, and WorldToVolume.

Spectrum lux::HomogeneousVolume::Tau ( const Ray ray,
float  ,
float   
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 66 of file homogeneous.h.

References lux::Distance(), IntersectP(), sig_a, and sig_s.

BBox lux::HomogeneousVolume::WorldBound (  )  const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 43 of file homogeneous.h.

References extent, lux::Transform::GetInverse(), and WorldToVolume.


Member Data Documentation

Definition at line 77 of file homogeneous.h.

Referenced by HomogeneousVolume(), IntersectP(), Lve(), p(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().

float lux::HomogeneousVolume::g [private]

Definition at line 76 of file homogeneous.h.

Referenced by CreateVolumeRegion(), HomogeneousVolume(), and p().

Definition at line 75 of file homogeneous.h.

Referenced by HomogeneousVolume(), and Lve().

Definition at line 75 of file homogeneous.h.

Referenced by HomogeneousVolume(), sigma_a(), sigma_t(), and Tau().

Definition at line 75 of file homogeneous.h.

Referenced by HomogeneousVolume(), sigma_s(), sigma_t(), and Tau().

Definition at line 78 of file homogeneous.h.

Referenced by HomogeneousVolume(), IntersectP(), Lve(), p(), sigma_a(), sigma_s(), sigma_t(), and WorldBound().


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

Generated on Sat Aug 15 19:15:07 2009 for lux by  doxygen 1.5.9