00001 /* 00002 * Light.h 00003 * 00004 * Created on: 14 sie 2014 00005 * Author: dwg 00006 */ 00007 00008 #ifndef LIGHT_H_ 00009 #define LIGHT_H_ 00010 00011 #include "Log.h" 00012 #include "Color.h" 00013 #include "MathHelper.h" 00014 00015 namespace FemViewer { 00016 00017 using namespace fvmath; 00018 00019 class Light { 00020 00021 public: 00022 enum { 00023 Flat = 0, 00024 Camera, 00025 Fixed 00026 }; 00027 00028 public: 00029 00030 explicit Light(); 00031 explicit Light(const Light& rhs); 00032 Light& operator=(const Light& rhs); 00033 ~Light(){ 00034 //mfp_debug("Light detr"); 00035 } 00036 00037 int& Type() { return m_type; } 00038 const int& Type() const { return m_type; } 00039 ColorRGBA& Color() { return m_color; } 00040 const ColorRGBA& Color() const { return m_color; } 00041 CVec3f& AmbientIntensity() { return m_ambientIntensity; } 00042 const CVec3f& AmbientIntensity() const { return m_ambientIntensity; } 00043 CVec3f& DiffuseIntensity() { return m_diffuseIntensity; } 00044 const CVec3f& DiffuseIntensity() const { return m_diffuseIntensity; } 00045 CVec3f& Position() { return m_position; } 00046 const CVec3f& Position() const { return m_position; } 00047 00048 private: 00049 00050 int m_type; 00051 ColorRGBA m_color; 00052 CVec3f m_ambientIntensity; 00053 CVec3f m_diffuseIntensity; 00054 CVec3f m_position; 00055 }; 00056 00057 00058 } // 00059 00060 #endif /* LIGHT_H_ */