00001 #ifndef ROZROST_H_
00002 #define ROZROST_H_
00003
00004 #include "plansza.h"
00005 #include "wektor.h"
00006
00007 class Rozrost{
00008
00009 int numerZiarna;
00010 int ilePG;
00011 public:
00012
00013
00014 Plansza * pR;
00015 PunktList pGranicy;
00016 DoubleList pGranicy2D;
00017
00018
00019 IntList gR;
00020 IntList usunGR;
00021
00022 Rozrost(Plansza * p){ilePG=0;usunGR.czysc(1000,1000);pR = p;numerZiarna=0;pGranicy.czysc(1000,1000);}
00023
00024 void reset(Plansza * p){ilePG=0;usunGR.czysc(1000,1000);pR = p;numerZiarna=0;pGranicy.czysc(1000,1000);}
00025 void rozrostLosuj(int ileZiaren);
00026 void rozrostLosujRange(int ileZiaren,int range);
00027
00028 void rozrostZiaren();
00029 void rozrostZiarenGranicy(int wartoscPrawdo);
00030 void rozrostOtoczenia();
00031
00032 void pomniejszenieZiarnaGranicy(int wspolczynnik);
00033 void pomniejszenieZiarna(int wspolczynnik);
00034 void granice(int wspolczynnik);
00035 void graniceZiaren();
00036 void graniceP1Per();
00037 void graniceP1NiePer();
00038
00039
00040
00041 void komplekosoweTworzenieZiaren(int wartoscPrawdo,int powtorzen,int ileRozrost,int ileOtocz,int RozrostOtoczenie);
00042 void pomniejszGranice(int promien,bool brzeg);
00043
00044 void ustalGraniceRozrostu();
00045 void rysujGranice(int polZ);
00046 void rysujZiarnaGraniczne();
00047 int getilePG(){return ilePG;}
00048 Plansza* getPlansza(){return pR;}
00049 void wczytajPunktyGraniczne(const char *nazwa);
00050 void wczytajPunktyGraniczne2D(const char *nazwa,bool tylkoGraniczneA,int sposobSkalowania);
00051 void wczytajPunktyGranicznePSS(const char *nazwa);
00052
00053
00054 void sztucznyRozrost();
00055 void graniceP2();
00056 void granicaKuli(double r,int ilPunkOkrag,double Sx,double Sy,double Sz);
00057 void granicaZastawka(bool tylkoGranicaG,double r,int ilPunkOkrag,int grubosc,double Sx,double Sy,double Sz);
00058 void granicaTuba(double r,int ilPunkOkrag,int grubosc,double Sx,double Sy,double Sz);
00059 void BFSOnlyStep(double dlX,double dlY,double dlZ,double stosunekH,double dlWylou,double gestosc);
00060
00061 void graniceStrukturalna();
00062 void graniceAnizotropowe();
00063 void warstwyZ2D(int ileWarstw);
00064
00065 void granicaObecnePunkty(PunktList &p, bool tylkoG);
00066
00067
00068 };
00069
00070
00071 #endif //ROZROST_H_