NullEmitter.h
Go to the documentation of this file.00001 /**<!--------------------------------------------------------------------> 00002 @class NullEmitter 00003 @author Travis Fischer (fisch0920@gmail.com) 00004 @author Matthew Jacobs (jacobs.mh@gmail.com) 00005 @date Fall 2008 00006 00007 @brief 00008 Null emitter which doesn't emit any light, defined at a single point 00009 in 3-space 00010 <!-------------------------------------------------------------------->**/ 00011 00012 #ifndef NULL_EMITTER_H_ 00013 #define NULL_EMITTER_H_ 00014 00015 #include <materials/Emitter.h> 00016 00017 class NullEmitter : public Emitter { 00018 public: 00019 ///@name Constructors 00020 //@{----------------------------------------------------------------- 00021 00022 inline explicit NullEmitter(SurfacePoint &pt, Material *parent = NULL) 00023 : Emitter(pt, NULL, parent) 00024 { } 00025 00026 virtual ~NullEmitter() 00027 { } 00028 00029 00030 //@}----------------------------------------------------------------- 00031 ///@name Initialization 00032 //@{----------------------------------------------------------------- 00033 00034 /** 00035 * @brief 00036 * Performs any initialization that may be necessary before beginning 00037 * to use this Emitter 00038 * 00039 * @note initializes spectral power and radiant exitance to black 00040 */ 00041 virtual void init(); 00042 00043 00044 //@}----------------------------------------------------------------- 00045 ///@name Main usage interface 00046 //@{----------------------------------------------------------------- 00047 00048 /** 00049 * @returns the spectral radiance emitted along the given vector 00050 * 00051 * @note returns SpectralSampleSet::black (null emitter) 00052 */ 00053 virtual SpectralSampleSet getLe(const Vector3 &wo); 00054 00055 /** 00056 * @brief 00057 * Sets up OpenGL material state (light properties) to enable 00058 * a crude/fast preview of this light in OpenGL 00059 * 00060 * @note overrides default implementation to not modify GL light state 00061 * at all 00062 */ 00063 virtual void preview(Shape *shape); 00064 00065 00066 //@}----------------------------------------------------------------- 00067 }; 00068 00069 #endif // NULL_EMITTER_H_ 00070
Generated on 28 Feb 2009 for Milton by
1.5.6