#include <strom.h>
Verejné metódy | |
strom () | |
Konstruktor. | |
~strom () | |
Destruktor. | |
zoznam * | zoznam_na_krizenie () |
Vyberie nahodne jeden zo vsetkych zoznamov, z ktorych je zlozeny strom. | |
void | pridaj_po_krizeni (prvok *uk) |
Prida na koniec zoznamu, z ktoreho bola odobrata cast an krizenie cast zoznamu, ktora sa zacina prvkom, na ktory dostavame pointer. | |
void | mutuj_strom () |
Postupne prejde cely strom a niektore prvky zmutuje - nahodnym sposobom mierne zmeni ich parametre. | |
void | zduplikuj_sa (strom *s) |
Strom sa zduplikuje do stromu specifikovaneho v parametri. | |
void | napln_nahodne () |
Vyrobi nahodny strom naplneny nahodnymi hodnotami. | |
bool | is_empty () |
Zistuje, ci je strom prazdny. | |
int * | vrat_dlzky () |
Spristupnuje pole dlzky na citanie. | |
bod * | vrat_utvary () |
Spritupnuje pole utvary na citanie. | |
Verejné atribúty | |
int | pocet_zaznamov |
Pocet utvarov v strome, pocet ciar+pocet rovin, pocet prvkov v poli utvary. | |
int | pocet_ciar |
Pocet ciar v strome. | |
int | pocet_ploch |
Pocet ploch v strome. | |
zoznam * | koren |
Pointer na korenovy zoznam stromu. | |
bool | aktualne |
True, ak su udaje v poliach dlzky a utvary aktualne. | |
Privátne metódy | |
zoznam * | najdi_zoznam_na_krizenie (zoznam *zoz) |
Najde nahodny zoznam v strome, ktory bude pouzity na krizenie. | |
void | mutuj_zoznam (zoznam *zoz) |
Postupne prechadza prvky zoznamu a niektore z nich moze zmenit. | |
element | nahodny_element (int vn) |
Vyrobi nahodny element. | |
posun | nahodny_posun () |
Vyrobi nahodny posun. | |
void | zduplikuj_zoznam (zoznam *zoz1, zoznam *zoz2) |
Zduplikuje zoznam. | |
void | vyrataj_body () |
Vypocitava hodnoty realnych suradnic vsetkych bodov stolicky. | |
void | spracuj_zoznam (zoznam *zoz, bod bod1, bod bod2) |
Spracuje data ulozene v zozname. | |
void | spracuj_plochu (element el, bod bod1, bod bod2) |
Spracuje plochu ulozenu v aktualnom elemente. | |
void | zrus_zoznam (zoznam *zoz) |
Rekurzivne rusi zoznam. | |
vektor | otocenie (vektor predch, vektor na_otocenie) |
Pocita vysledny vektor, ktory vznikne otocenim vektoru na otocenie vzhladom na predchadzajuci vektor. | |
bod | nasledujuci_bod (bod bod1, bod bod2, posun dalsi) |
Pocita nasledujuci bod, predchadzajuce bodu su bod1, bod2, bod, ktory ratame. | |
Privátne atribúty | |
int | pocet_moznych_ciar |
Pocet vrcholov rovin, v ktorych je nasledovnikom len pradzny zoznam. | |
zoznam * | odkrojeny |
Pointer na zoznam, z ktoreho bola odobrata cast na krizenie a do ktoreho sa vlepi nova cast. | |
int | dlzky [100] |
Pole dlzok utvarov, ak je utvar rovina, tak jeho dlzka je 100+pocet vrcholov roviny. | |
bod | utvary [100][30] |
Pole, v ktorom su ulozene suradnice jednotlivych utvarov - rovin a ciar. | |
int | pompoc |
Pomocne pocitadlo pri vybere zoznamu na krizenie. | |
bod | pombody [10] |
strom je zlozeny zo zoznamov, ma jeden korenovy zoznam, ku ktoremu mozu byt pripojene ine zoznamy v prvkoch zoznamu, ktore obsahuju roviny
|
Konstruktor. vytvori prazdny strom, korenovy zoznam je prazdny zoznam |
|
Destruktor. ak strom nie je prazdny, vyprazdni vsetky zoznamy, ktore ho tvoria |
|
Zistuje, ci je strom prazdny.
|
|
Postupne prechadza prvky zoznamu a niektore z nich moze zmenit. rekurzivne sa vola na vsetky zoznamy, ktore su zavesene na plochach tohto zoznamu
|
|
Vyrobi nahodny element. rekurzivna procedura
|
|
Vyrobi nahodny posun.
|
|
Najde nahodny zoznam v strome, ktory bude pouzity na krizenie. rekurzivna procedura
|
|
Pocita nasledujuci bod, predchadzajuce bodu su bod1, bod2, bod, ktory ratame.
|
|
Pocita vysledny vektor, ktory vznikne otocenim vektoru na otocenie vzhladom na predchadzajuci vektor.
|
|
Prida na koniec zoznamu, z ktoreho bola odobrata cast an krizenie cast zoznamu, ktora sa zacina prvkom, na ktory dostavame pointer.
|
|
Spracuje plochu ulozenu v aktualnom elemente. prida riadok do pola utvary, pricom prva usecka roviny je bod1->bod2, je to usecka, ku ktorej je rovina pridruzena, t.j. plocha obsahuje aj tuto usecku vzhladom na tuto usecku su pocitane dalsie usecky ohranicujuce plochu
|
|
Spracuje data ulozene v zozname. prida riadok do pola utvary, pricom predchadzajuca usecka je bod1->bod2, vhladom na tuto usecku sa pocitaju otocenia prvej usecky v zozname, bod2 je zaciatok novej ciary, ktora je ulozena v tomto zozname.
|
|
Spristupnuje pole dlzky na citanie.
|
|
Spritupnuje pole utvary na citanie.
|
|
Strom sa zduplikuje do stromu specifikovaneho v parametri.
|
|
Zduplikuje zoznam.
|
|
Vyberie nahodne jeden zo vsetkych zoznamov, z ktorych je zlozeny strom.
|
|
Rekurzivne rusi zoznam. ak sa tento zoznam vetvi na nejakej rovine, zrusi rekurzivne aj tieto zoznamy
|