#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) |