lux::VolumeGrid Class Reference

#include <volumegrid.h>

Inheritance diagram for lux::VolumeGrid:

lux::DensityRegion lux::VolumeRegion

List of all members.

Public Member Functions

 VolumeGrid (const Spectrum &sa, const Spectrum &ss, float gg, const Spectrum &emit, const BBox &e, const Transform &v2w, int nx, int ny, int nz, const float *d)
 ~VolumeGrid ()
BBox WorldBound () const
bool IntersectP (const Ray &r, float *t0, float *t1) const
float Density (const Point &Pobj) const
float D (int x, int y, int z) const

Static Public Member Functions

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

Private Attributes

float * density
const int nx
const int ny
const int nz
const BBox extent


Detailed Description

Definition at line 30 of file volumegrid.h.


Constructor & Destructor Documentation

VolumeGrid::VolumeGrid ( const Spectrum sa,
const Spectrum ss,
float  gg,
const Spectrum emit,
const BBox e,
const Transform v2w,
int  nx,
int  ny,
int  nz,
const float *  d 
)

Definition at line 31 of file volumegrid.cpp.

References density, memcpy(), nx, ny, and nz.

Referenced by CreateVolumeRegion().

lux::VolumeGrid::~VolumeGrid (  )  [inline]

Definition at line 36 of file volumegrid.h.

References density.


Member Function Documentation

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

float lux::VolumeGrid::D ( int  x,
int  y,
int  z 
) const [inline]

Definition at line 43 of file volumegrid.h.

References Clamp(), and density.

Referenced by Density().

float VolumeGrid::Density ( const Point Pobj  )  const [virtual]

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

Implements lux::VolumeRegion.

Definition at line 38 of file volumegrid.h.

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

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


Member Data Documentation

float* lux::VolumeGrid::density [private]

Definition at line 53 of file volumegrid.h.

Referenced by D(), VolumeGrid(), and ~VolumeGrid().

const BBox lux::VolumeGrid::extent [private]

Definition at line 55 of file volumegrid.h.

Referenced by Density(), IntersectP(), and WorldBound().

const int lux::VolumeGrid::nx [private]

Definition at line 54 of file volumegrid.h.

Referenced by CreateVolumeRegion(), Density(), and VolumeGrid().

const int lux::VolumeGrid::ny [private]

Definition at line 54 of file volumegrid.h.

Referenced by CreateVolumeRegion(), Density(), and VolumeGrid().

const int lux::VolumeGrid::nz [private]

Definition at line 54 of file volumegrid.h.

Referenced by CreateVolumeRegion(), Density(), and VolumeGrid().


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

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