LocalReflection Class Reference

#include <LocalReflection.h>

Inheritance diagram for LocalReflection:

ReflectionModel GRAObject GLReflection PhongReflection List of all members.

Public Types

enum  ShadowDetection { SD_NONE, SD_RAY_FROM_EMITTANCE, SD_GEOMETRY_SAMPLING }

Public Member Functions

 LocalReflection (DiffuseBRDF *db=NULL, SpecularBRDF *sb=NULL, Emittance *e=NULL, ShadowDetection s=SD_NONE, unsigned ns=1, unsigned c=0, unsigned u=1)
virtual ~LocalReflection ()
virtual void setScene (Scene *)
virtual Color3f * illuminatePoint (PointEnv &)
virtual Color3f * illuminatePoint (PointEnv &, MatVisitor &)
const LightArray * lights (void) const
unsigned getBlockingObjCaches (void) const
unsigned getActBlockingObjCache (void) const
void setActBlockingObjCache (unsigned i)
void blockingObjCacheOff (void)
virtual void setDiffuseBRDF (DiffuseBRDF *b)
virtual void setSpecularBRDF (SpecularBRDF *b)
virtual void setEmittance (Emittance *e)

Protected Member Functions

bool _light_visible (unsigned, const Vector3 &, double, const Vector3 &, SceneGraphObject::OID)

Protected Attributes

LightArray * _pLights
ShadowDetection _shadowDetection
unsigned _lightTests
unsigned _numCaches
unsigned _useCache
DiffuseBRDF * _pDiffuseBRDF
SpecularBRDF * _pSpecularBRDF
Emittance * _pEmittance
Scene_pScene

Detailed Description

Definition at line 39 of file LocalReflection.h.


Member Enumeration Documentation

enum ShadowDetection
 

Enumerator:
SD_NONE 
SD_RAY_FROM_EMITTANCE 
SD_GEOMETRY_SAMPLING 

Definition at line 41 of file LocalReflection.h.


Constructor & Destructor Documentation

LocalReflection DiffuseBRDF *  db = NULL,
SpecularBRDF *  sb = NULL,
Emittance *  e = NULL,
ShadowDetection  s = SD_NONE,
unsigned  ns = 1,
unsigned  c = 0,
unsigned  u = 1
 

Definition at line 60 of file LocalReflection.cc.

virtual ~LocalReflection  )  [inline, virtual]
 

Definition at line 67 of file LocalReflection.h.


Member Function Documentation

bool _light_visible unsigned  ,
const Vector3 &  ,
double  ,
const Vector3 &  ,
SceneGraphObject::OID 
[protected]
 

Definition at line 9 of file LocalReflection.cc.

References LocalReflection::_pLights, ReflectionModel::_pScene, LocalReflection::_useCache, and Scene::root().

void blockingObjCacheOff void   )  [inline]
 

Definition at line 100 of file LocalReflection.h.

unsigned getActBlockingObjCache void   )  const [inline]
 

Definition at line 98 of file LocalReflection.h.

unsigned getBlockingObjCaches void   )  const [inline]
 

Definition at line 97 of file LocalReflection.h.

Color3f * illuminatePoint PointEnv &  ,
MatVisitor & 
[virtual]
 

Reimplemented in PhongReflection.

Definition at line 95 of file LocalReflection.cc.

References ReflectionModel::_pDiffuseBRDF, ReflectionModel::_pEmittance, LocalReflection::_pLights, ReflectionModel::_pScene, and ReflectionModel::_pSpecularBRDF.

Color3f * illuminatePoint PointEnv &   )  [virtual]
 

Implements ReflectionModel.

Reimplemented in GLReflection.

Definition at line 85 of file LocalReflection.cc.

Referenced by RayTracing::_direct_illumination(), and PhongReflection::illuminatePoint().

const LightArray* lights void   )  const [inline]
 

Definition at line 95 of file LocalReflection.h.

void setActBlockingObjCache unsigned  i  )  [inline]
 

Definition at line 99 of file LocalReflection.h.

Referenced by RayTracing::_direct_illumination().

virtual void setDiffuseBRDF DiffuseBRDF *  b  )  [inline, virtual, inherited]
 

Reimplemented in PhongReflection, and RayTracing.

Definition at line 55 of file ReflectionModel.h.

Referenced by RayTracing::_check_material(), and RayTracing::setDiffuseBRDF().

virtual void setEmittance Emittance *  e  )  [inline, virtual, inherited]
 

Reimplemented in Radiosity, and RayTracing.

Definition at line 57 of file ReflectionModel.h.

Referenced by RayTracing::_check_material(), and RayTracing::setEmittance().

void setScene Scene  )  [virtual]
 

Reimplemented from ReflectionModel.

Reimplemented in GLReflection.

Definition at line 76 of file LocalReflection.cc.

References LocalReflection::_numCaches, LocalReflection::_pLights, ReflectionModel::_pScene, and Scene::root().

Referenced by GLReflection::setScene().

virtual void setSpecularBRDF SpecularBRDF *  b  )  [inline, virtual, inherited]
 

Reimplemented in PhongReflection, and RayTracing.

Definition at line 56 of file ReflectionModel.h.

Referenced by RayTracing::_check_material(), and RayTracing::setSpecularBRDF().


Member Data Documentation

unsigned _lightTests [protected]
 

Definition at line 50 of file LocalReflection.h.

unsigned _numCaches [protected]
 

Definition at line 51 of file LocalReflection.h.

Referenced by LocalReflection::setScene().

DiffuseBRDF* _pDiffuseBRDF [protected, inherited]
 

Definition at line 39 of file ReflectionModel.h.

Referenced by PathTracing::_cast_secondary_rays(), RayTracing::_check_material(), PhotonMapping::_sample_diffuse(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), PhongReflection::PhongReflection(), and PhongReflection::~PhongReflection().

Emittance* _pEmittance [protected, inherited]
 

Definition at line 41 of file ReflectionModel.h.

Referenced by LocalReflection::illuminatePoint().

LightArray* _pLights [protected]
 

Definition at line 48 of file LocalReflection.h.

Referenced by LocalReflection::_light_visible(), LocalReflection::illuminatePoint(), LocalReflection::setScene(), and GLReflection::setScene().

Scene* _pScene [protected, inherited]
 

Definition at line 42 of file ReflectionModel.h.

Referenced by RayTracing::_cast_ray(), LocalReflection::_light_visible(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), Radiosity::setScene(), and LocalReflection::setScene().

SpecularBRDF* _pSpecularBRDF [protected, inherited]
 

Definition at line 40 of file ReflectionModel.h.

Referenced by PathTracing::_cast_secondary_rays(), RayTracing::_check_material(), PhotonMapping::_sample_specular(), RayTracing::illuminatePoint(), PhotonTracing::illuminatePoint(), LocalReflection::illuminatePoint(), PhongReflection::PhongReflection(), and PhongReflection::~PhongReflection().

ShadowDetection _shadowDetection [protected]
 

Definition at line 49 of file LocalReflection.h.

unsigned _useCache [protected]
 

Definition at line 52 of file LocalReflection.h.

Referenced by LocalReflection::_light_visible().


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 15:11:43 2006 for gra by  doxygen 1.4.6