lux::HomogeneousVolume Class Reference

#include <homogeneous.h>

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

List of all members.

Public Member Functions

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

Static Public Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 30 of file homogeneous.h.


Constructor & Destructor Documentation

lux::HomogeneousVolume::HomogeneousVolume ( const RGBColor sa,
const RGBColor ss,
float  gg,
const RGBColor 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().

virtual lux::HomogeneousVolume::~HomogeneousVolume (  )  [inline, virtual]

Definition at line 43 of file homogeneous.h.


Member Function Documentation

VolumeRegion * HomogeneousVolume::CreateVolumeRegion ( const Transform volume2world,
const ParamSet params 
) [static]
virtual bool lux::HomogeneousVolume::IntersectP ( const Ray r,
float *  t0,
float *  t1 
) const [inline, virtual]

Implements lux::VolumeRegion.

Definition at line 47 of file homogeneous.h.

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

Referenced by Tau().

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

Implements lux::VolumeRegion.

Definition at line 60 of file homogeneous.h.

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

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

Implements lux::VolumeRegion.

Definition at line 63 of file homogeneous.h.

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

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

Implements lux::VolumeRegion.

Definition at line 51 of file homogeneous.h.

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

Referenced by CreateVolumeRegion().

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

Implements lux::VolumeRegion.

Definition at line 54 of file homogeneous.h.

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

Referenced by CreateVolumeRegion().

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

Reimplemented from lux::VolumeRegion.

Definition at line 57 of file homogeneous.h.

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

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

Implements lux::VolumeRegion.

Definition at line 67 of file homogeneous.h.

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

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

Implements lux::VolumeRegion.

Definition at line 44 of file homogeneous.h.

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


Member Data Documentation

Definition at line 79 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 78 of file homogeneous.h.

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

Definition at line 77 of file homogeneous.h.

Referenced by HomogeneousVolume(), and Lve().

Definition at line 77 of file homogeneous.h.

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

Definition at line 77 of file homogeneous.h.

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

Definition at line 80 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 by  doxygen 1.6.2-20100208