VolumeGridDensity Class Reference

#include <volumegrid.h>

Inheritance diagram for VolumeGridDensity:
DensityRegion VolumeRegion

List of all members.

Public Member Functions

 VolumeGridDensity (const Spectrum &sa, const Spectrum &ss, float gg, const Spectrum &emit, const BBox &e, const Transform &v2w, int x, int y, int z, const float *d)
 ~VolumeGridDensity ()
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

Private Attributes

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

Detailed Description

Definition at line 35 of file volumegrid.h.


Constructor & Destructor Documentation

VolumeGridDensity::VolumeGridDensity ( const Spectrum sa,
const Spectrum ss,
float  gg,
const Spectrum emit,
const BBox e,
const Transform v2w,
int  x,
int  y,
int  z,
const float *  d 
) [inline]

Definition at line 38 of file volumegrid.h.

References density, nx, ny, and nz.

VolumeGridDensity::~VolumeGridDensity (  )  [inline]

Definition at line 45 of file volumegrid.h.

References density.


Member Function Documentation

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

Definition at line 52 of file volumegrid.h.

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

Referenced by Density().

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

Implements DensityRegion.

Definition at line 31 of file volumegrid.cpp.

References D(), extent, Floor2Int(), BBox::Inside(), Lerp(), nx, ny, nz, BBox::Offset(), Vector::x, Vector::y, and Vector::z.

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

Implements VolumeRegion.

Definition at line 47 of file volumegrid.h.

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

BBox VolumeGridDensity::WorldBound (  )  const [inline, virtual]

Implements VolumeRegion.

Definition at line 46 of file volumegrid.h.

References extent, Inverse(), and DensityRegion::WorldToVolume.


Member Data Documentation

float* VolumeGridDensity::density [private]

Definition at line 60 of file volumegrid.h.

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

Definition at line 62 of file volumegrid.h.

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

const int VolumeGridDensity::nx [private]

Definition at line 61 of file volumegrid.h.

Referenced by D(), Density(), and VolumeGridDensity().

const int VolumeGridDensity::ny [private]

Definition at line 61 of file volumegrid.h.

Referenced by D(), Density(), and VolumeGridDensity().

const int VolumeGridDensity::nz [private]

Definition at line 61 of file volumegrid.h.

Referenced by D(), Density(), and VolumeGridDensity().


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:15 2010 for pbrt by  doxygen 1.6.3