Milan Laslop
unread,Apr 8, 2011, 3:02:25 PM4/8/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to tim16...@googlegroups.com
Mám tam chybu. Ty pridávaš obmedzovače ešte vtedy, keď nie je nastavený
observer (teda hneď počas vytvárania grafu). Observer sa pridá, až keď je
graf vytvorený a vytvára sa nad ním Viewer. Neuvedomil som si toto možné
poradie. Pri pridávaní obmedzovačov z GUI mi to vždy fungovalo, lebo tam
sa pridávajú už do vytvoreného grafu (nad ktorým je už vytvorený Viewer,
takže observer je nastavený).
Zatiaľ si to nejako vykomentuj alebo tam daj podmienku, aby sa notifikoval
iba ak je nastavený (čo ale by sa nemalo tak používať, keďže sa tak
niektoré informácie, ktoré mal observer dostať, stratia).
Ja to opravím, keď budem mať čas - pomeniť poradie inicializácie (graf,
obmedzovače, viewer) asi tak ľahko nepôjde, preto asi budem musieť
zhromažďovať notifikácie v RestrictionsManager a pri zaregistrovaní
observera mu ich dať. Alebo je možnosť urobiť to úplne bez observera,
niečo na spôsob synchronizeEdges a synchronizeNodes, že počas
vykresľovania sa to zosynchronizuje s reálnym stavom. Neviem teraz vybrať
lepšie (menej horšie) riešenie.
V mojej branchi je inak vykresľovanie všetkých obmedzovačov, teda aj tých,
ktoré sú kvôli vnoreným grafom. Preto asi stráca význam to, že ty tam
pridávaš vlastné spheres do osg stromu. Musíme to potom nejako dať dokopy,
neviem, či ty tam máš ešte nejakú funkcionalitu navyše, ktorá nie je
zahrnutá v mojom riešení.