#include <volumegrid.h>
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 |
Definition at line 35 of file volumegrid.h.
VolumeGridDensity::~VolumeGridDensity | ( | ) | [inline] |
Definition at line 45 of file volumegrid.h.
References density.
float VolumeGridDensity::D | ( | int | x, | |
int | y, | |||
int | z | |||
) | const [inline] |
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.
float* VolumeGridDensity::density [private] |
Definition at line 60 of file volumegrid.h.
Referenced by D(), VolumeGridDensity(), and ~VolumeGridDensity().
const BBox VolumeGridDensity::extent [private] |
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().