00001 /* 00002 # Copyright (c) 2010 Alexandre Laurent 00003 # Yan Verdavaine 00004 # 00005 # Permission is hereby granted, free of charge, to any person obtaining a copy 00006 # of this software and associated documentation files (the "Software"), to deal 00007 # in the Software without restriction, including without limitation the rights 00008 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00009 # copies of the Software, and to permit persons to whom the Software is 00010 # furnished to do so, subject to the following conditions: 00011 # 00012 # The above copyright notice and this permission notice shall be included in 00013 # all copies or substantial portions of the Software. 00014 # 00015 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00016 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00017 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00018 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00019 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00020 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00021 # THE SOFTWARE. 00022 */ 00023 00024 #include "Generateur.hpp" 00025 00026 Fractale::Image<unsigned int> Fractale::Generateur 00027 ( 00028 Fractale::GPointInitialisation* initFCT, 00029 Fractale::GFractale* fractaleFCT, 00030 Fractale::GAccumulateur* accumulateurFCT, 00031 Fractale::Zone zoneImage 00032 ) 00033 { 00034 initFCT->m_zone = zoneImage; 00035 accumulateurFCT->m_zone = zoneImage; 00036 00037 initFCT->debut(); 00038 00039 Fractale::Image<unsigned int> resultat(zoneImage.imgH,zoneImage.imgL); 00040 while(!initFCT->fin()) 00041 { 00042 point z = initFCT->nouveauPoint(); 00043 00044 const std::vector<Fractale::point> & sequence = fractaleFCT->genererSequence(z); 00045 accumulateurFCT->accumuler(resultat,z,sequence); 00046 } 00047 return resultat; 00048 } 00049