lux::VolumeGrid Class Reference

#include <volumegrid.h>

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

List of all members.

Public Member Functions

 VolumeGrid (const RGBColor &sa, const RGBColor &ss, float gg, const RGBColor &emit, const BBox &e, const Transform &v2w, int nx, int ny, int nz, const float *d)
virtual ~VolumeGrid ()
virtual BBox WorldBound () const
virtual bool IntersectP (const Ray &r, float *t0, float *t1) const
virtual 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 RGBColor sa,
const RGBColor ss,
float  gg,
const RGBColor emit,
const BBox e,
const Transform v2w,
int  nx,
int  ny,
int  nz,
const float *  d 
)

Definition at line 32 of file volumegrid.cpp.

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

Referenced by CreateVolumeRegion().

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

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]
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.

virtual 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 by  doxygen 1.6.2-20100208