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

Dokumentácia triedy strom

Trieda strom sluzi na pracu so stromom, v ktorom je ulozena reprezentacia stolicky. ...

#include <strom.h>

Zoznam všetkých členov.

Verejné metódy

 strom ()
 Konstruktor.

 ~strom ()
 Destruktor.

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

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

zoznamkoren
 Pointer na korenovy zoznam stromu.

bool aktualne
 True, ak su udaje v poliach dlzky a utvary aktualne.


Privátne metódy

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

zoznamodkrojeny
 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]


Detailný popis

Trieda strom sluzi na pracu so stromom, v ktorom je ulozena reprezentacia stolicky.

strom je zlozeny zo zoznamov, ma jeden korenovy zoznam, ku ktoremu mozu byt pripojene ine zoznamy v prvkoch zoznamu, ktore obsahuju roviny


Dokumentácia konštruktoru a deštruktoru

strom::strom  ) 
 

Konstruktor.

vytvori prazdny strom, korenovy zoznam je prazdny zoznam

strom::~strom  ) 
 

Destruktor.

ak strom nie je prazdny, vyprazdni vsetky zoznamy, ktore ho tvoria


Dokumentácia k metódam

bool strom::is_empty  ) 
 

Zistuje, ci je strom prazdny.

Návratová hodnota:
je true, ak je strom prazdny

void strom::mutuj_zoznam zoznam zoz  )  [private]
 

Postupne prechadza prvky zoznamu a niektore z nich moze zmenit.

rekurzivne sa vola na vsetky zoznamy, ktore su zavesene na plochach tohto zoznamu

Parametre:
*zoz zoznam, ktory sa aktualne spracovava

element strom::nahodny_element int  vn  )  [private]
 

Vyrobi nahodny element.

rekurzivna procedura

Parametre:
vn hlbka vnorenia
Návratová hodnota:
vygenerovany element

posun strom::nahodny_posun  )  [private]
 

Vyrobi nahodny posun.

Návratová hodnota:
nahodny posun

zoznam * strom::najdi_zoznam_na_krizenie zoznam zoz  )  [private]
 

Najde nahodny zoznam v strome, ktory bude pouzity na krizenie.

rekurzivna procedura

Parametre:
*zoz,ktory bude aktualne prechadzany
Návratová hodnota:
jeden zo zoznamov, cez ktore sa preslo

bod strom::nasledujuci_bod bod  bod1,
bod  bod2,
posun  dalsi
[private]
 

Pocita nasledujuci bod, predchadzajuce bodu su bod1, bod2, bod, ktory ratame.

Parametre:
bod1 prvy bod predchadzajucej usecky
bod2 druhy bod predchadzajucej usecky
dalsi posun udavajuci velkosti zmeny
Návratová hodnota:
dalsi bod v poradi

vektor strom::otocenie vektor  predch,
vektor  na_otocenie
[private]
 

Pocita vysledny vektor, ktory vznikne otocenim vektoru na otocenie vzhladom na predchadzajuci vektor.

Parametre:
predch predchadzajuci vektor
vektor_na_otocenie vektor, ktory sa ide otacat
Návratová hodnota:
vysledny vektor

void strom::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.

Parametre:
*uk ukazovatel na prvok zoznamu, ktory mame pridat k skratenemu zoznamu

void strom::spracuj_plochu element  el,
bod  bod1,
bod  bod2
[private]
 

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

Parametre:
el element, v ktorom sa nachadza plocha, ktora sa spracovava
bod1 prvy bod plochy
bod2 druhy bod plochy

void strom::spracuj_zoznam zoznam zoz,
bod  bod1,
bod  bod2
[private]
 

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.

Parametre:
*zoz zoznam, ktory sa spracovava
bod1 zaciatok predchadzajucej uzecky
bod2 koniec predchadzajucej usecky a zaciatok ciary ulozene v tomto zozname

int * strom::vrat_dlzky  ) 
 

Spristupnuje pole dlzky na citanie.

Návratová hodnota:
pointer na prvy prvok pola

bod * strom::vrat_utvary  ) 
 

Spritupnuje pole utvary na citanie.

Návratová hodnota:
pointer na prvy bod v poli utvary

void strom::zduplikuj_sa strom s  ) 
 

Strom sa zduplikuje do stromu specifikovaneho v parametri.

Parametre:
*s ukazovatel na strom, do ktoreho sa ma tento strom zduplikovat

void strom::zduplikuj_zoznam zoznam zoz1,
zoznam zoz2
[private]
 

Zduplikuje zoznam.

Parametre:
*zoz1 zoznam z ktoreho sa kopiruje jeho obsah
*zoz2 zoznam, do ktoreho sa da obsah zoz1

zoznam * strom::zoznam_na_krizenie  ) 
 

Vyberie nahodne jeden zo vsetkych zoznamov, z ktorych je zlozeny strom.

Návratová hodnota:
pointer na vybrany zoznam

void strom::zrus_zoznam zoznam zoz  )  [private]
 

Rekurzivne rusi zoznam.

ak sa tento zoznam vetvi na nejakej rovine, zrusi rekurzivne aj tieto zoznamy

Parametre:
*zoz zoznam, ktory sa ma zrusit


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