Hlavná stránka | Zoznam tried | Zoznam súborov | Zoznam členov tried

Dokumentácia triedy stolicka

trieda na pracu so stolickou ...

#include <stolicka.h>

Zoznam všetkých členov.

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.

prvokdaj_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.

stolickazduplikuj_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

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


Detailný popis

trieda na pracu so stolickou


Dokumentácia konštruktoru a deštruktoru

stolicka::stolicka int  uhol  ) 
 

Konstruktor.

vyrobi prazdnu stolicku bez dalsich nastaveni

stolicka::stolicka nastavenie_fitness  n,
bool  sym,
bool  sym4,
bool  doska
 

Konstruktor.

vyrobi prazdnu stolicku a nastavi prislusne hodnoty pomocou nacitanych udajov

Parametre:
n urcuje, akym sposobom sa bude vyhodnocovat fitness stolicky
sym true, ak ma byt stolicka zrkadlovo symetricka
sym4 true, ak ma byt stolicka zrkadlovo symetricka podla dvoch rovin
doska true, ak ma byt navrchu polozena doska

stolicka::~stolicka  ) 
 

Destruktor.

vyprazdni strom, v ktorom je ulozena reprezentacia stolicky


Dokumentácia k metódam

prvok * stolicka::daj_na_krizenie  ) 
 

Najde zoznam na krizenie a odoberie z neho nejaku cast.

Návratová hodnota:
pointer na prvok, ktory je zaciatkom casti zoznamu, ktory sa dava k dispozicii na krizenie

float stolicka::fitness  ) 
 

Vyhodnocovanie fitness funkcie.

Návratová hodnota:
hodnota fitness stolicky

float stolicka::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.

Návratová hodnota:
hodnota fitness za sedatka v stolicke

bool stolicka::je_sedatko  ) 
 

Zistuje, ci sa v srolicke nachadza aspon jedno sedatko.

Návratová hodnota:
true, ak sa v stolicke nachadza aspon jedno sedatko

int stolicka::length  ) 
 

Zisti dlzku stolicky.

t.j. pocet zaznamov v poli utvary

Návratová hodnota:
pocet zaznamov v polie utvary

void stolicka::nacitaj_zo_suboru AnsiString  filename  ) 
 

Nacita data o stolicke zo suboru.

Parametre:
filename meno suboru, z ktoreho budu udaje nacitanw

void stolicka::najdi_sedatka  ) 
 

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

bool stolicka::plocha_je_sedatko int  x  ) 
 

Zistuje, ci plocha v utvary[x] je sedatko.

Parametre:
x index do pola utvary, kde sa nachadza kontrolovana rovina
Návratová hodnota:
true, ak je tato plocha sedatkom

void stolicka::pridaj_pri_krizeni prvok uk  ) 
 

Prida na miesto, z ktoreho bola cast jedneho zo zoznamov, novu cast zoznamu.

Parametre:
*uk pointer na prvok, ktory je prvym prvkom casti zoznamu, ktory sa ma doplnit na miesto, z ktoreho bol predtym odobraty kus zoznamu

bool stolicka::stabilna  ) 
 

Zistuje, ci je stolicka stabilna.

Návratová hodnota:
true, ak je stolicka ako celok stabilna

bod stolicka::tazisko  ) 
 

Pocita bod, ktory je taziskom celej stolicky.

tazisko roviny sa pocita ako tazisko hran, ktore ju ohranicuju

Návratová hodnota:
bod, ktory je taziskom stolicky

bod stolicka::tazisko_opor_bodov  ) 
 

Ppocita tazisko opornych bodov.

kedze tieto su v jednej rovine, pocita sa pomocou aritmetickeho priemeru prislusnych suradnic

Návratová hodnota:
tazisko opornych bodov

bod stolicka::tazisko_roviny int  x  ) 
 

Pocita tazisko jednej roviny, ktore ja ulozena v utvary[x].

Parametre:
x index do pola utvary, udava poziciu, na ktorej sa nachadza rovina, ktorej tazisko sa ma pocitat
Návratová hodnota:
tazisko roviny

void stolicka::uloz_do_suboru AnsiString  filename  ) 
 

Ulozi stolicku do suboru.

Parametre:
filename meno suboru, do ktoreho bude stolicka ulozena

void stolicka::urob_4symetriu  ) 
 

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

void stolicka::urob_symetriu  ) 
 

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

stolicka * stolicka::zduplikuj_sa  ) 
 

Zduplikuje celu stolicku.

Návratová hodnota:
pointer na presnu kopiu stolicky

void stolicka::zniz_body  ) 
 

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)


Dokumentácia pre túto triedu bola generovaná z nasledujúcich súborov:
Generované Thu May 6 10:44:22 2004 programom doxygen 1.3.6