00001 #include "darkBody.h" 00002 #include <cmath> 00003 00004 darkBody::darkBody(int nbColors):colorMaker(nbColors){ 00005 } 00006 00007 darkBody::~darkBody(){ 00008 } 00009 00010 QColor darkBody::get(int level){ 00011 int red, green, blue; 00012 00013 //float ii = sqrt(sqrt(float(level)/nblevels)) * nblevels; 00014 int ii = level; 00015 00016 // rouge 00017 if (ii < nblevels/2) 00018 red = 511 * ii / nblevels; 00019 else 00020 red = 255; 00021 00022 // vert 00023 if (ii< nblevels/4) 00024 green = 0; 00025 else if (ii< 3*nblevels/4) 00026 green = 511 * (ii-nblevels/4)/nblevels; 00027 else 00028 green = 255; 00029 00030 // bleu 00031 if (ii< nblevels/2) 00032 blue = 0; 00033 else 00034 blue = 511 * (ii-nblevels/2)/nblevels; 00035 00036 return QColor(red, green, blue); 00037 }