Main Page | Class List | File List

PaletteCreator.h

00001 
00002 
00003 
00004 
00005 
00006 #ifndef PaletteCreator_h
00007 #define PaletteCreator_h
00008 
00009 #include <GL/gl.h>
00010 #include <math.h>
00011 
00012 /*#include <gsl/gsl_errno.h>
00013 #include <gsl/gsl_spline.h>
00014 #include <gsl/gsl_interp.h>*/
00015 #include "enl_interp.h"
00016 
00017 //Classe basique de creation de palette, a travailler
00018 class PaletteCreator{
00019         int activeComp;
00020 
00021         float palette[256*4];
00022 
00023         double ctrlsX[10], ctrlsY[10];
00024 
00025 public:
00026         PaletteCreator(){
00027                 activeComp=0;
00028 
00029                 for(int i=0; i<256; i++){
00030                   palette[0+i*4]=cos(i/10.0);
00031                   palette[1+i*4]=cos(i/10.0)*sin(i/100.0);
00032                   palette[2+i*4]=sin(i/40.0);
00033                   palette[3+i*4]=i/255.0;
00034       
00035                   /*    tbl[0+i*4]=0;
00036                         tbl[1+i*4]=0;
00037                         tbl[2+i*4]=cos(i/200.0);
00038                         tbl[3+i*4]=i/255.0;*/
00039       
00040 
00041                           /*tbl[i*4]=0.5;
00042                         tbl[1+i*4]=0.5;
00043                         tbl[2+i*4]=1.0;
00044                         if(i==0)
00045                         tbl[3+i*4]=i/255.0;
00046                         else
00047                         tbl[3+i*4]=1.0;*/
00048       
00049                           /*tbl[i*4]=i/255.0;
00050                         tbl[1+i*4]=i/255.0;
00051                         tbl[2+i*4]=i/255.0;
00052                         tbl[3+i*4]=i/255.0;*/
00053                 }
00054 
00055                 for(int j=0; j<10; j++){
00056                         ctrlsX[j]=j;
00057                         ctrlsY[j]=j;
00058                 }
00059 
00060         }
00061         void acquire(int px, int py);
00062 
00063         void switchComp(){
00064                 activeComp=(activeComp+1)%4;
00065 
00066                 for(int i=0; i<10; i++)
00067                   ctrlsY[i]=palette[(int)(activeComp+(i*25)*4)]*255;
00068         }
00069 
00070         void draw();
00071 
00072 
00073         float *getPalette(){
00074                 return palette;
00075         }
00076 
00077 };
00078 
00079 #endif

Generated on Mon Jan 26 22:13:13 2004 for fluid3 by doxygen 1.3.5