00001 #ifndef DELANOUY_3D_H_
00002 #define DELANOUY_3D_H_
00003
00004 #include <cmath>
00005
00006 #include "wektor.h"
00007
00008
00009 class Delanouy3D{
00010
00011
00012 double globalTranX,globalTranY,globalTranZ,globalSkal;
00013
00014 int flagaLaplasa;
00015
00016
00017 double dx,dy,dz;
00018 double NajT;
00019 int schowekLW;
00020 int ilePunktowCzworosciany;
00021
00022 void ustalSSE();
00023 int maximum4(const double &m1,const double &m2,const double &m3,const double &m4);
00024 int segreguj4(double *m,int *kol);
00025
00026 IntList pZiarno;
00027 IntList nrZazZiaren;
00028 IntList wzorGranicy;
00029
00030
00031
00032 public:
00033 IntList fluidBlock,fluidGroup,uppermostBlock;
00034
00035
00036
00037
00038
00039 int do_kontaktu[192];
00040
00041 IntList wybraneZleEl;
00042 void rysujZleEl();
00043
00044
00045
00046 PryzmList pryzmy;
00047 ElementList elements;
00048 PunktList points;
00049
00050 IntList *laplas;
00051
00052
00053 FaceList faces;
00054 EdgeList edges;
00055 IntList *mapFace;
00056 int *facebc_connect;
00057 bool flag_bc_connect;
00058
00059
00060 void count_bc_surface(FILE* Interactive_output);
00061 void pobierzWarunkiZFacow(IntList &warunkiBrzegowe,int *mapaPunktow1);
00062 void pobierzWarunkiZFacow(IntList &warunkiBrzegowe);
00063 double dlugosc_do_sciany(int punktID,int elID);
00064 double srednieRamiePunktu(int punktID,double mnoznik);
00065 void optymalizacjaStosunekRdorCalosc_zmienna_dl_kroku(double dlKroku,bool bezGranicy);
00066
00067 void smoothing(double l_step,int repetition);
00068 void optymalizacjaStosunekRdorCalosc(double dlKroku, bool bezGranicy);
00069 void optymalizacjaStosunekRdorNajlepszayWynikCalosc(double dlKroku, bool bezGranicy);
00070
00071 void info_bc_connect();
00072 void zmien_do_kontaktu(int pozycja);
00073 void mmr_dopasuj_punkty(int face_id,int fa_connect,int *el_id,int zmien);
00074 int get_facebc_connect(int ktory){if(faces.getIter()>ktory && flag_bc_connect){return facebc_connect[ktory];}else{return -1;}}
00075 void creatFaceAndEdge();
00076 void czyscFaceAndEdge();
00077 void czyscFace();
00078 void czyscEdge();
00079 void stosunekRdor(FILE *out);
00080
00081
00082 void zapiszaAktualnaLibczeW(){schowekLW=points.getIter();}
00083 void przestawIterPunktowNaSchowek(){points.ustawIter(schowekLW);}
00084 void zapisParaView(const char *nazwa);
00085
00086 ~Delanouy3D();
00087
00088 Delanouy3D(double xdl,double ydl,double zdl){
00089
00090 facebc_connect = new int[1];facebc_connect[0]=-1;flag_bc_connect=false;
00091 flagaLaplasa=0;
00092 laplas = new IntList[8];
00093 mapFace = new IntList[1];
00094 Start(xdl,ydl,zdl,8);
00095 wybraneZleEl.czysc(100000,100000);
00096
00097 for(int i=0;i<192;++i){do_kontaktu[i]=0;}
00098
00099
00100
00101 }
00102
00103
00104 ElementList &zwrocRefElementow(){return elements;}
00105 PunktList &zwrocRefPunktow(){return points;}
00106
00107 int rysuj(bool ujemne);
00108 void rysujPow();
00109 void rysujPunkty(int size);
00110 int rysujWybraneZiarna(IntList &niePokZiarn);
00111 int rysujWybraneZiarnaPrzekroj(IntList &niePokZiarn,int x,int y,int z,bool calosc);
00112 void sprawdzSasiadow();
00113 void sprawdzSasiednieElementy();
00114 double V_objetosc(FILE *out);
00115 double V_objetoscP();
00116 double V_objetoscT(FILE *out);
00117 double V_objetoscTPopraw();
00118 double V_objetoscT(int ktory);
00119 bool V_objetoscP(int ktory);
00120
00121
00122
00123 int przygotojTabliceDoDelanoya(int ** &tabElementow2,int WETE2,double WEws2);
00124 int poprawaElementMalejaco(int ** tabElementow2,int model,double &stostunekObecny,double stosunekDocelowy,double &zmniejszO,bool PoprawZPozaObszaru);
00125 int poprawaElementPrzysp(int ** tabElementow2,int model,double &stostunekObecny,bool PoprawZPozaObszaru);
00126
00127
00128 void Start(double xdl,double ydl,double zdl);
00129 void Start(double xdl,double ydl,double zdl,int ileP);
00130 void ustawWIelkoscObszaru(double xdl,double ydl,double zdl){dx=xdl;dy=ydl;dz=zdl;}
00131 void delanoyTablicaOP(double xdl,double ydl,double zdl,bool reMes,PunktList &Tab,double ws,int te,bool dokladneWyszukanie);
00132 void delanoyTablicaOPDodajPunkty(double xdl,double ydl,double zdl,bool reMes,PunktList &Tab,double ws,int te);
00133 void delanoyTablicaOPDodajPunktyZTablicaPolozeniaEl(int **tabelementow,double xdl,double ydl,double zdl,bool reMes,PunktList &Tab,double ws,int te);
00134 void delanoyTablicaOPDodajPunktyZTablicaPolozeniaElUstalJakoscEl(int **tabelementow,double xdl,double ydl,double zdl,bool reMes,PunktList &Tab,double ws,int te);
00135
00136 void delanoyTablicaDodajPunktyWOparciuOTabliceElementow(PunktList &Tab,IntList &zElementu);
00137
00138 bool sprawdzElement(int jaki,IntList &lista);
00139 bool elementyDoDelnoya(int wybrany,double x,double y,double z,IntList &delElementy);
00140 bool elementyDoDelnoyaZeSprObj(int wybrany,double x,double y,double z,IntList &delElementy);
00141 bool sprawdzCzyNalezyDoE(int nrE,const double &x,const double &y,const double &z);
00142
00143 int wyszukajElementOP(const int &wybranyTE,const double &x,const double &y,const double &z, IntList &zlyElement, IntList &pomoc);
00144 int wyszukajElement(const double &x,const double &y,const double &z);
00145 int wyszukajElementPoprawaOP(const double &x,const double &y,const double &z, IntList &zlyElement);
00146 int wyszukajElementGwiazda(const double &x,const double &y,const double &z,IntList &sprawdz,const int &wielkoscG);
00147 int sprawdzenieElementow(const double &x,const double &y,const double &z,IntList &sprawEle,const int &od);
00148
00149
00150
00151
00152 void dodajPunktPopElement();
00153 void dodajPunktWSrodkuElementow();
00154 void dodajPunktWSrodkuNajwiekszejPow(IntList &zleElementy);
00155 int dopasujElementDoZiarna(bool pokazWynik);
00156 void dopasujElementDoZiarnaNaPodstawieFunkcji(double wartoscKata,double rZasat,double rTube);
00157 int dopasujElementDoZiarnaPunktyStartowe(PunktList &startP);
00158
00159 void poprawaDopasowaniaZiaren(const int &dokladnoscDop,const int &rodzaj);
00160 void poprawaDopasowaniaZiarenNajObjAryt(const int &dokladnoscDop);
00161 void poprawaDopasowaniaZiarenNajKrawAryt(const int &dokladnoscDop);
00162
00163 void powierzchnieScian(double wynik[4],const int &p1,const int &p2,const int &p3,const int &p4);
00164 void objetoscSrodAryt(double wynik[4],const int &p1,const int &p2,const int &p3,const int &p4);
00165 void krawedzieSrodAryt(double wynik[4],const int &p1,const int &p2,const int &p3,const int &p4);
00166
00167
00168 void poprawaDopasowaniaZiaren2Sas(IntList &zleE);
00169 void oznaczWezlyNaPow_b();
00170 void odznaczWezlyNaPow_b();
00171
00172
00173
00174
00175 void reMes();
00176 void reMes(double wX,double wY,double wZ);
00177 void sasiedniePunkty();
00178 void sasiedniePunktyPryzm();
00179
00180 void sasiednieElementy();
00181 void wygladzanieLaplace();
00182 void wygladzanieLaplaceWaga(int sposobZbieraniaWag,double waga,int ileWag);
00183
00184 void wygladzanieLaplaceWOparciuOWybranePunktu(IntList &punk,int ilePow);
00185 void wygladzanieLaplaceWagaWOparciuOWybranePunktu(IntList &punk,int sposobZbieraniaWag,double waga,int ileWag,int ilePow);
00186
00187
00188 void wygladzanieLaplaceWagaWybraneP(int sposobZbieraniaWag,double waga,int punktyOD,int ileWag);
00189 void wygladzanieLaplaceWagaWybranePunkty(int sposobZbieraniaWag,double waga,IntList &punk,int ileWag);
00190 void wygladzanieLaplaceWybranePunkty(IntList &punk);
00191 void wyszukajPunktuDoWygladzenia(IntList &punk,int numerZiarna,int ilePok);
00192 void optymalizacjaStosunekRdor(double dlKroku);
00193 void optymalizacjaStosunekGMSH(double dlKroku);
00194 void optymalizacjaV(double dlKroku);
00195 void optymalizacjaStosunekRdorWybranePunkty(double dlKroku,IntList &wybraneP,int ileRazy);
00196 void optymalizacjaStosunekRdorDODelanoya(double dlKroku,int odElementu);
00197 void optymalizacjaWCeluUzyskaniaPrawidlowejV(double dlKroku,int numerP);
00198
00199
00200
00201 double stosunekRdorNajlepszayWynikDlaPunktu(int ktoryPunkt);
00202 double stosunekRdorNajlepszayWynikDlaPunktu1(int ktoryPunkt);
00203
00204
00205 void optymalizacjaVWybranePunkty(double dlKroku,IntList &wybraneP,int ileRazy);
00206
00207
00208 void zbierzWagi(int nrSposobuZbieraniaWag,int ktoryP,DoubleList &wagi,int ileWag){
00209
00210 switch(nrSposobuZbieraniaWag){
00211 case 1:zbierzWagiOdleglosciKrawedzi(ktoryP,wagi);break;
00212 case 2:zbierzWagiOdleglosciOdPunktowWagi(ktoryP,wagi,ileWag);break;
00213 case 3:zbierzWagiOdleglosciKrawedziPoprawne(ktoryP,wagi,ileWag);break;
00214
00215 }
00216
00217 }
00218
00219
00220 void zbierzWagiOdleglosciKrawedzi(int ktoryP,DoubleList &wagi);
00221
00222 void zbierzWagiOdleglosciOdPunktowWagi(int ktoryP,DoubleList &wagi,int ileWag);
00223
00224 void zbierzWagiOdleglosciKrawedziPoprawne(int ktoryP,DoubleList &wagi,int ileWag);
00225
00226
00227
00228 void zapiszWzorGranicy();
00229 void zapiszWzorGranicy(IntList &wzorGranicy);
00230 void poprawGranice();
00231
00232 void usunieciePunktowKoloG();
00233 void poprawGraniceUsuniecieP();
00234
00235 void poprawGranice(PunktList &noweP);
00236 void poprawGranice(IntList &wzorGranicy,PunktList &noweP);
00237
00238
00239
00240 void ZapiszDoPlikuAbaqus(const char *nazwa);
00241 void ZapiszDoPlikuNas(const char *nazwa,double dzielnikZ,bool wartosciDo1,bool scianyProstopa);
00242 void ZapiszDoPlikuNasPryzm(const char *nazwa,double dzielnikZ,bool wartosciDo1,bool scianyProstopa);
00243 void ZapiszDoPlikuNasZPrzesunieciem(const char *nazwa,double dzielnikZ,bool scianyProstopa,int transX,int transY,int treansZ,double globalnyDzielnik,int *tab);
00244 void ZapiszDoPlikuNasWOparciuOPowTetra(const char *nazwa,double dzielnikZ,bool wartosciDo1,bool scianyProstopa);
00245 void ZapiszDoPlikuNasWOparciuOPowHybrydPSS(const char *nazwa,double dzielnikZ,bool wartosciDo1,bool scianyProstopa);
00246 void ZapiszDoPlikuNasWOparciuOPowTetraKanal(const char *nazwa,int wartoscMaxDo);
00247 void ZapiszDoPlikuNasWOparciuOPowHybrydKanal(const char *nazwa,int wartoscMaxDo);
00248 void ZapiszDoPlikuNasZPrzesunieciem_BC_Face(const char *nazwa,double dzielnikZ,double transX,double transY,double treansZ,double globalnyDzielnik);
00249
00250 void ZapiszDoPlikuNasWOparciuOPowHybrydDowolny(const char *nazwa,double dzielnikZ,bool wartosciDo1,int warunki);
00251
00252 void ZapiszDoPlikuSiatkaPow(const char *nazwa);
00253 void zapiszBMP(const char *nazwa,void *handle);
00254
00255
00256
00257 void znajdzElemetyPoDodaniuPunktow(IntList &ktoreP,IntList &ktoreE);
00258 int poprawaElement(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00259
00260 int poprawaElement_popZiarna(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00261 void poprawaElementWszystkieRdor(int sposobZbieraniaWag,double stosunekR_r,bool PoprawZPozaObszaru,double waga,bool modelPop,int ileWag);
00262 void poprawaElementWszystkieRdorPoprawaMiejscowa(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00263 void poprawaElementWszystkieRdorPoprawaMiejscowaMalejaco(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00264 void poprawaElementWszystkieRdorPoprawaMiejscowaPrzysp(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00265
00266 void poprawaElementWszystkieRdorPoprawaMiejscowa_popZiarna(int model,double stosunekR_r,bool PoprawZPozaObszaru);
00267
00268
00269 void poprawaElementWszystkieGMSH(int sposobZbieraniaWag,double stosunekR_r,bool PoprawZPozaObszaru,double waga,bool modelPop,int ileWag);
00270
00271 void stosunekRdorCout();
00272 void stosunekRdorZElementow();
00273
00274 bool stosunekRdor(double flaga);
00275 void stosunekRdorAktywneZiarna(IntList &nrAktywne);
00276 double stosunekRdorWybranyElement(int ktoryElement);
00277
00278 double naprawaElementow_Objetosci(int ktoryPunkt);
00279 double stosunekRdorNajwiekszyDlaPunktu(int ktoryPunkt);
00280 double stosunekRdorNajwiekszyDlaPunktuDODelanoya(int ktoryPunkt,int odElementu);
00281
00282 double stosunekGMSHNajwiekszyDlaPunktu(int ktoryPunkt);
00283 double stosunekVDlaPunktu(int ktoryPunkt);
00284 void stosunekGamaKGMSH();
00285 void stosunekGamaKGMSHAktywneZiarna(IntList &nrAktywne);
00286
00287 void stosunekRdorWyszukajElemnty(double stosunekR_r);
00288 void stosunekRdorWyszukajElemntyMalejacoSprawdz(double stosunekR_r);
00289 void stosunekRdorWyszukajElemntyMalejacoWypelnij();
00290 void stosunekGamaKGMSHWyszukajElemnty(double stosunekR_r);
00291
00292 int ustalNowePunkty(IntList &zleElementy,bool PoprawZPozaObszaru);
00293 int ustalNowePunkty(IntList &zleElementy,bool PoprawZPozaObszaru,PunktList &dodanePunkty);
00294 bool elementyDoDelnoyaPoprawaE(int wybrany,IntList &delElementy);
00295 Punkt ustalDodatkowyPunkt(IntList &delElementy);
00296
00297 float punktSciana2D(int ro1,int rodzaj,const double &War0,const double &x1,const double &x2,const double &x3,const double &y1,const double &y2,const double &y3,Punkt &temp);
00298 float punktSciana3D(const double &x1,const double &y1,const double &z1,const double &x2,const double &y2,const double &z2,const double &x3,const double &y3,const double &z3,Punkt &temp);
00299
00300
00301 void pokazMinMaxV();
00302
00303 void rozbijajDuzeTrojkaty(const double &stosunekR_r,bool PoprawZPozaObszaru);
00304 void wyszukajDuzeTrojkaty(const double &stosunekR_r,IntList &zleElementy);
00305 void zapiszNajVTrojkat();
00306
00307
00308
00309
00310
00311
00312 void usunZaznaczoneEl( IntList &nrZazZiaren){elements.ustawGraniceElementowNieZaz(nrZazZiaren);elements.usunElementyZaz(nrZazZiaren);}
00313 void usunNieZaznaczoneEl( IntList &nrZazZiaren){elements.ustawGraniceElementowZaz(nrZazZiaren);elements.usunElementyNieZaz(nrZazZiaren);}
00314
00315 void usunWybraneElementy(bool zaznaczone,bool usun_true_oznacz_false,IntList &nrZ);
00316 void usunPunktyNiepotrzebne();
00317 void zaznaczElementyZPPocz();
00318
00319
00320
00321 void wczytaj3D(const char *nazwa);
00322
00323
00324 void zageszczenieSiatkiNaGranicy();
00325 void zageszczenieSiatkiPowierzchni();
00326 void zapiszDoPlikuZageszczeniePunktowNaPow(bool zastosujGlobPrzesuniecia,int ileRazy,const char *nazwa);
00327
00328
00329
00330 void wczytajAnsys1(const char *nazwa,double powieksz,double transX,double transY,double transZ);
00331 void wczytajPlikNas(const char *nazwa,int mnoznik,bool warunki,double px,double py,double pz);
00332
00333 void wczytajPlikNas(const char *nazwa,int mnoznik,bool wczytajWarunki);
00334 void ustawWarunkiNaPodstawiePunktow(IntList &warunkiFace);
00335 void wczytajPunktyPSS(const char *nazwa,int ktoreSerce);
00336 void wczytajPunktyPSSnast(const char *nazwa,int ktoreSerce);
00337 void zwrocLiczby(double &a,double &b,double &c,string &liczba);
00338
00339 void oznaczWezlyGraniczneNaPodstSasP();
00340 void oznaczWezlyGraniczneNaPodstawieScianG();
00341 void wyszukanieSasidnichElementowE();
00342
00343 void wyszukanieSasidniegoElementu(int nrEl,int numerSciany);
00344 void wyszukanieSasidniegoElementu(int nrEl);
00345
00346
00347
00348 void dodajNowePunktyNaKrawedziach();
00349 void sprawdzWaznoscPunktow();
00350 void uzupelnienieElementow();
00351 void uzupelnienieElementuWybranego(int ktory);
00352 void uzupelnienieElementowWybranych(IntList &elWybrane);
00353
00354
00355 double ileWezlowG();
00356
00357
00358 void tworzeniePryzm(double gruboscWarstwyPryzmatycznej, int ileoscWarstw,int procentowaWielkoscW,double wagaWygladzania, double doklOptyWygladzania);
00359 void tworzeniePryzmWygladzanie(double grubosc,int procentowaWielkoscW);
00360 void tworzeniePryzmNormalna(double grubosc,int ileWarstw,bool flagaJakosci);
00361
00362 void wyszukajScianyNaPryzmyNormalna(IntList &scianyPryzm);
00363 int ileScianyNaPryzmy();
00364
00365
00366 void wyszukajNormalnePowierzchniDlaPunktowGranicznych();
00367 void wyszukajWlementyScianGranicznychZPunktem(int numerWezla,IntList &elementySas,DoubleList &polaEleSas);
00368 void wyliczWektorNormalnyDlaPunkty(Punkt &szukWektor,int numerWezla,IntList &elementySas,DoubleList &poleEleSas,PunktList &sprawdz,bool flagaJakosci);
00369 void wyliczWektorNormalny(double &x1_zwWyn,double &y1_zwWyn,double &z1_zwWyn);
00370
00371
00372
00373
00374 void uwtorzWartstwePrzysciennaDlaZiarna(int nrZ,double dlOdsuniecia);
00375
00376 void znajdzWszystkieScianyGraniczne(IntList &sciany);
00377 void znajdzScianyGraniczneDlaZiarna(IntList &sciany,int nrZiarna,bool czyKrawPrzes);
00378 void obliczGradiety(IntList &sciany,double dlOdsuniecia);
00379 void zmianaWartGrad(IntList &sciany,double dlOdsuniecia);
00380 void wyznaczOdleglosc(IntList &sciany,double dlOdsuniecia);
00381 void tworzenieWarstwyPrzysciennej(IntList &sciany);
00382 void rysujCzworosciany();
00383
00384
00385 void oznaczWszytkieWezlyGraniczneNaBrzegach();
00386
00387
00388 IntList sciany;
00389
00390
00391
00392
00393 void wyszukajScianyNaPryzmy(IntList &scianyPryzm);
00394 int rysujPryzmy(bool ujemne);
00395 void rysujPryzme(int ktora);
00396 void skalujIPrzesunCzworosciany(double gruboscWarstwy);
00397 void skalujCzworosciany(double gX,double gY,double gZ);
00398 void zapiszPunktyGraniczne();
00399 void wczytajPunktyGraniczne();
00400
00401 double powSciany(int p1,int p2,int p3);
00402
00403
00404 void rozpoznawaniePlaszczyzn();
00405 void wczytajPrzerob(const char *nazwa);
00406
00407
00408
00409
00410 void z();
00411
00412
00413
00414 void wyszukajPowZew_start(int rodzajGranicy);
00415 void wyszukajPowZew_wygladScianyGranicznej(int rodzajGranicy,char **mapE_F);
00416 void wyszukajPowZew_wyszkiwaniePow(char **mapE_F,IntList &pkScian,bool *pointFlag,char obecnyNumer);
00417 void wyszukajPowZew_zmienKoloryWezlow(char **mapE_F);
00418 double* ustawaElementyNaSrodku(double stosunekWielkoscPlanszy);
00419 int wyszukajEdgesInEl(int nrEl,int *nrEdges);
00420 void wyszukajElementsWithEdge(int nrEd,int *nrElements);
00421
00422
00423 double *zworcNormalnaDoFace(int p1,int p2,int p3);
00424
00425
00426
00427
00428 double ruchSpawanie(double obecnyKrok, double od_start,double minPoprawy,double doX,double doY,double dl,double zmiejszaPrzes,double limit,double szerokosc);
00429 bool powSinus(double doX,double doY,double dl,double zmiejszaPrzes,double limit,double szerokosc);
00430 void maxZgranica();
00431 void maxZgranica1();
00432 double minZwezglyGraniczne();
00433
00434
00435 void ruchPrzestrzen(int ileWarstw,int obecny_krok, int od_krok,int ileKrok,double minPoprawy,double px0,double py0,double pz0,double px1,double py1,double pz1,double endX,double endY,double endZ);
00436 void initPrzestrzenRuch(double px0,double py0,double pz0,double px1,double py1,double pz1);
00437 void tworzenieGranicy2D_XY(int rodzaj);
00438 void wyszukajPunktuDoWygladzeniaNaPodstawiePunktow(IntList &punk,IntList &punktyZaz,int ilePok);
00439 void optymalizacjaStosunekRdorNajlepszayWynikCaloscDlaWybranychPunktow(IntList &wybranePunkty,double dlKroku, bool bezGranicy);
00440 IntList punktyPR;
00441
00442 void kopiujSiatke(Delanouy3D &a);
00443 void polozeniePunktowWybranegoEl(int el,int localP,double *coor);
00444 void siatkaStatyczna(double dl_x,double dl_y,double dl_z,double il_w_x,double il_w_y,double il_w_z);
00445
00446
00447 void warunkiNaPodstawieZiaren();
00448 void warunkiNaPodstawieZiaren_pop_in_out(int numer);
00449 void warunkiNaPodstawieZiaren_reset(int numer);
00450 void tablicaFC_connect();
00451 void getFacePoints(int face_id,int *points);
00452 void podzielNaObjekty(int *tabBlock,int dl_tab);
00453 void rozdzielSasiednieMaterialy(bool block);
00454 void warunkiNaPodstawieDanych(int *matMap_in,int dl_mat,int *blockMap_in,int dl_block,int *war,int dl_war);
00455
00456 int materialNumber();
00457 int materialIDs(int *tab,int l_tab);
00458 void zapiszWarunkiPoczatkoweNaPodstawieDanych(const char *nazwa,double *tempB,int dl_tempB,int* Block,int dl_Block);
00459 void wczytajWarunkiBrzegowe(int *warTab);
00460 void zapiszWarunkiBrzegowe(int *warTab);
00461 void creatFaceAndEdgeRememberBC();
00462 int getlowestGroupID();
00463 void oznaczPunktyNiepotrzebne();
00464
00465 void zmienWarunkeSciana(double r_max,double r_min,int zWar,int naWar);
00466
00467 };
00468
00469
00470
00471
00472
00473 #endif //DELANOUY_3D_H_
00474
00475
00476
00477
00478