00001 #ifndef _T_LISTA3D_ 00002 #define _T_LISTA3D_ 00003 00004 #include<stdio.h> 00005 #include<stdlib.h> 00006 #include <wx/colour.h> 00007 #include <string.h> 00008 00009 #include "../../Parser/TParserScomponi.h" 00010 #include "../../Parser/TParserValore.h" 00011 #include "../../Strutture.h" 00012 00013 typedef struct funzione 00014 { 00015 color colore; 00016 char f[255]; 00017 funzione* next; 00018 float **valori; 00019 rif* puntastruttura; 00020 int flagdisegno; 00021 float maxRel; 00022 float minRel; 00023 char sfumatura; 00024 char griglia; 00025 }pr; 00026 class TLista3D 00027 { private: 00028 00029 pr* first; 00030 pr* last; 00031 00032 public: 00033 TLista3D(); 00034 char bisogna_ricalcolare; 00035 int numeroelementi; 00036 float xmin,xmax,ymin,ymax,zmin,zmax; 00037 int risoluzione_r; 00038 int risoluzione_c; 00039 int altezza; 00040 int larghezza; 00041 00042 void NuovoNodo( wxColour color, 00043 char *fx, 00044 rif* puntaStrutt, 00045 int flagdisegno, 00046 char griglia, 00047 char sfumatura); 00048 00049 void NuovoNodo(wxColour color, 00050 char *fx, 00051 float** valori, 00052 int flagdisegno, 00053 float minRel, 00054 float maxRel, 00055 char griglia, 00056 char sfumatura); 00057 00058 00059 00060 void ModificaElemento(int posizione, 00061 wxColour color, 00062 char *fx, 00063 rif* puntaStrutt, 00064 int flagdisegno, 00065 char grid, 00066 char sfum); 00067 00068 void RimuoviNodo(int posizione); 00069 wxColour EstraiColore(int posizione); 00070 char* EstraiFunzione(int posizione); 00071 float** EstraiStruttura(int posizione); 00072 int EstraiFlagDisegno(int posizione); 00073 char EstraiGriglia(int posizione); 00074 float EstraiMinRel(int posizione); 00075 float EstraiMaxRel(int posizione); 00076 void Ricalcola(void); 00077 pr* EstraiPtr(int posizione); 00078 int righe; 00079 private: 00080 00081 void crea(float ***valori); 00082 void calcola(float **valori,rif*puntastruttura,float *minRel,float *maxRel); 00083 void calcola2(float **valori,rif*puntastruttura,float *minRel,float *maxRel); 00084 }; 00085 00086 #endif