#include <stolicka.h>
Verejné metódy | |
| stolicka (int uhol) | |
| Konstruktor. | |
| stolicka (nastavenie_fitness n, bool sym, bool sym4, bool doska) | |
| Konstruktor. | |
| ~stolicka () | |
| Destruktor. | |
| bod | tazisko () |
| Pocita bod, ktory je taziskom celej stolicky. | |
| bod | tazisko_roviny (int x) |
| Pocita tazisko jednej roviny, ktore ja ulozena v utvary[x]. | |
| bod | tazisko_opor_bodov () |
| Ppocita tazisko opornych bodov. | |
| void | vyrataj_body () |
| Naplni polia dlzky a utvary hodnotami, ktore dostane z obejktu strom. | |
| void | najdi_sedatka () |
| Postupne prechadza vsetky roviny v stolicke a zistuje, ktore z nich su sedatkami. | |
| float | fitness_za_sedatka () |
| Zistenie hodnoty fitness za kriteria pre sedatka vyhodnocuje sa fitness za kriterium vysky a stability sedatka, vysledkom je maximalny sucet hodnot pre obidve kriteria, ktory dosiahlo jedno zo sedatok. | |
| void | zniz_body () |
| Znizuje najnizsie body stolicky na uroven najnizsieho. | |
| void | urob_symetriu () |
| Urobi stolicku symetrickou. | |
| void | urob_4symetriu () |
| Urobi stolicku dvojnasobne zrkadlovo symetrickou. | |
| void | mutuj () |
| Zmutuje stolicku. | |
| float | fitness () |
| Vyhodnocovanie fitness funkcie. | |
| prvok * | daj_na_krizenie () |
| Najde zoznam na krizenie a odoberie z neho nejaku cast. | |
| void | pridaj_pri_krizeni (prvok *uk) |
| Prida na miesto, z ktoreho bola cast jedneho zo zoznamov, novu cast zoznamu. | |
| bool | je_sedatko () |
| Zistuje, ci sa v srolicke nachadza aspon jedno sedatko. | |
| bool | stabilna () |
| Zistuje, ci je stolicka stabilna. | |
| stolicka * | zduplikuj_sa () |
| Zduplikuje celu stolicku. | |
| void | vyrataj_oporne_body () |
| Postupne prejde vsetku body v stolicke a najde oporne body, tieto body da do pola opor_body. | |
| int | length () |
| Zisti dlzku stolicky. | |
| void | uloz_do_suboru (AnsiString filename) |
| Ulozi stolicku do suboru. | |
| void | nacitaj_zo_suboru (AnsiString filename) |
| Nacita data o stolicke zo suboru. | |
| void | napln_nahodne () |
| Strom prazdnej stolicky naplni nahodnymi udajmi - vytvori nahodnu stolicku. | |
| bool | plocha_je_sedatko (int x) |
| Zistuje, ci plocha v utvary[x] je sedatko. | |
Verejné atribúty | |
| int | cislo |
| poradove cislo stolicky | |
| hodnoty_fitness | hodn_fit |
| datova struktura popisujuca hodnoty fitness, ktore dostala tato stolicka za jednotlive kriteria | |
| nastavenie_fitness | nast |
| datova struktura popisujuca nastavnie, akym sposobom sa ma vyhodnocovat fitness funkcia stolicky | |
| bool | stol |
| true, ak je na vrchu utvaru polozena doska | |
| strom * | posuny |
| strom, v ktorom su ulozene data, v ktorych je zakodovany tvar stolicky | |
| float | mox |
| maximalna absolutna suradnica v smere osi x, z | |
| float | moz |
| maximalna absolutna suradnica v smere osi x, z | |
| float | maxy |
| maximalna y-ova suradnica, vyska najvyssieho body v stolicke | |
| float | miny |
| minimalna y-ova suradnica, vyska najnizsieho bodu v stolicke | |
| float | minz |
| minimalne a maximalne hodnoty suradnic v stolicke | |
| float | maxz |
| minimalne a maximalne hodnoty suradnic v stolicke | |
| bool | symetria |
| true, ak je stolicka zrkadlovo symetricka (podla roviny z-x) | |
| bool | symetria4 |
| true, ak je stolicka zrkadlovo syemtricka podla dvoch rovin (roviny x-z a x-y) | |
| int | pocet_useciek |
| pocet useciek v stolicke | |
| bod | utvary [100][30] |
| datova struktura, v ktorej sa nachadza v kazdom riadku (t.j. utvary[i]) suradnice jedneho utvaru - jednej plochy alebo jednej ciary | |
| int | dlzky [100] |
| dlzky zaznamov v poli utvary, ak je dlzky[i]<100, tak je to ciara, ak je dlzky[i]>100, tak je to rovina v dlzke dlzky[i]-100 | |
| bod | opor_body [100] |
| pole bodov, ktore su opornymi bodmi stoliky, body, ktore sa nachadzaju na zemi | |
| int | sedatka [100] |
| pole indexov do pola utvary na riadky, v ktorych sa nachadzaju roviny, ktore su sedatkami | |
| int | pocet_sedatok |
| pocet prvkov v poli sedatka | |
| int | pocmin |
| pocet opornych bodov, pocet prvkov v poli opor_body | |
Privátne atribúty | |
| float | fit |
| hodnota fitness stolicky | |
| float | stabilita |
| int | pocet_bodov |
| pocet vsetkych bodov stolicky | |
| bod | maxy_bod |
| najvysii bod stolicky | |
| bod | zaciatok |
| bod, v ktorom zacina stolicka, konkretne (0,0,0) | |
|
|
Konstruktor. vyrobi prazdnu stolicku bez dalsich nastaveni |
|
||||||||||||||||||||
|
Konstruktor. vyrobi prazdnu stolicku a nastavi prislusne hodnoty pomocou nacitanych udajov
|
|
|
Destruktor. vyprazdni strom, v ktorom je ulozena reprezentacia stolicky |
|
|
Najde zoznam na krizenie a odoberie z neho nejaku cast.
|
|
|
Vyhodnocovanie fitness funkcie.
|
|
|
Zistenie hodnoty fitness za kriteria pre sedatka vyhodnocuje sa fitness za kriterium vysky a stability sedatka, vysledkom je maximalny sucet hodnot pre obidve kriteria, ktory dosiahlo jedno zo sedatok.
|
|
|
Zistuje, ci sa v srolicke nachadza aspon jedno sedatko.
|
|
|
Zisti dlzku stolicky. t.j. pocet zaznamov v poli utvary
|
|
|
Nacita data o stolicke zo suboru.
|
|
|
Postupne prechadza vsetky roviny v stolicke a zistuje, ktore z nich su sedatkami. (t.j. priblizne vodorovnymi rovinami) indexy tychto rovin v poli utvary da do pola sedatka |
|
|
Zistuje, ci plocha v utvary[x] je sedatko.
|
|
|
Prida na miesto, z ktoreho bola cast jedneho zo zoznamov, novu cast zoznamu.
|
|
|
Zistuje, ci je stolicka stabilna.
|
|
|
Pocita bod, ktory je taziskom celej stolicky. tazisko roviny sa pocita ako tazisko hran, ktore ju ohranicuju
|
|
|
Ppocita tazisko opornych bodov. kedze tieto su v jednej rovine, pocita sa pomocou aritmetickeho priemeru prislusnych suradnic
|
|
|
Pocita tazisko jednej roviny, ktore ja ulozena v utvary[x].
|
|
|
Ulozi stolicku do suboru.
|
|
|
Urobi stolicku dvojnasobne zrkadlovo symetrickou. t.j. prejde vsetku zaznamy v stolicke a pre kazdy z nich vyrobi 3 dalsie zaznamy, ktore su navzajoom zrkadlovo symetricke |
|
|
Urobi stolicku symetrickou. t.j. prejde vsetky zaznamy a zduplikuje ich, pricom zmeni jednu suradnicu tak, aby novovzniknuty utvar bol zrkadlovo symetricky oproti povodnemu utavru |
|
|
Zduplikuje celu stolicku.
|
|
|
Znizuje najnizsie body stolicky na uroven najnizsieho. znizi 3 alebo 2 najznisie body v stolicke na uroven najnizsieho body v stolicke, podla toho ci nie je symetricka (3) alebo je zrkadlovo symetricka (2) ak je stolicka dvojnasobne symetricka, nerobi nic (nema to zmysel) |
1.3.6