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