00001 #include <Magick++.h> 00002 #include "solidmaterial.h" 00003 #include "scene.h" 00004 #include <string> 00005 #include <map> 00006 00007 using Magick::Color; 00008 00009 SolidMaterial::SolidMaterialStaticInit SolidMaterial::m_init; 00010 00011 Color SolidMaterial::get_color(const Point3D& intersection_point) const 00012 { 00013 return m_color; 00014 } 00015 00016 bool SolidMaterial::is_light(const Point3D& intersection_point) const 00017 { 00018 return m_is_light_source; 00019 } 00020 void SolidMaterial::set_is_light(bool v) 00021 { 00022 m_is_light_source = v; 00023 } 00024 00025 double SolidMaterial::get_diffuse(const Point3D& intersection_point) const 00026 { 00027 return m_diffusion_factor; 00028 } 00029 00030 void SolidMaterial::set_diffuse(double diffuse) 00031 { 00032 m_diffusion_factor = diffuse; 00033 } 00034 00035 double SolidMaterial::get_reflection(const Point3D& intersection_point) const 00036 { 00037 return m_reflection_coefficient; 00038 } 00039 00040 double SolidMaterial::get_reflectivity(const Point3D& intersection_point) const 00041 { 00042 return m_reflectivity; 00043 } 00044 00045 double SolidMaterial::get_refraction_index(const Point3D& intersection_point) const 00046 { 00047 return m_refraction_index; 00048 } 00049 00050 double SolidMaterial::get_opacity(const Point3D& intersection_point) const 00051 { 00052 return m_opacity; 00053 } 00054 00055 void SolidMaterial::set_opacity(double opacity) 00056 { 00057 m_opacity = opacity; normalize_opacity(); 00058 }