Zdravo Dušane,

Koliko vidim, snimanje simplicijalnog kompleksa radiš redom.
for (unsigned int lvl = 0; lvl < simpComp->elements.size(); lvl++) {
        for (auto ks : simpComp->elements[lvl]) {
Dakle, verovatno je redosled snimanja i učitavanja isti, tj. nema potrebe da sortiraš po ID-u ili šta već.
Dakle, trebalo bi da Markov predlog dobro testira snimanje i učitavanje - poređenje snimljenog sa onim što si nakon toga učitao pa snimio.

Vidimo se,
Nenad

On Wed, Nov 9, 2022 at 10:52 PM Marko Vojinovic <vmarko@ipb.ac.rs> wrote:

Pozdrav Dusane i Nenade,

Evo konacno sam se vratio u Srbiju i uspeo malo da se organizujem. Dosad se nisam odazivao jer sam bio bas pretrpan obavezama, nisam stizao da pogledam sta ste radili... :-( Ali nadalje cu biti malo bolji sa odgovaranjem na mail-ove. ;-)

Dusane, vidim da si poceo da radis na citanju kompleksa iz fajla, i otprilike sam bacio pogled na ono sto si stavio u svoj branch dosad. Nisam testirao, ali pretpostavljam da radi, tj. da ispisuje na ekran ono sto procita? :-) Sto se tice posebne klase za I/O, svakako je napravi ako mislis da je potrebna, i Nenad i ja se slazemo. Javi dokle si stigao i kako ide.

Btw, fundamentalni test za I/O moze da ide otprilike ovako:

(1) seed-ujes neki kompleks SimpComp *G1 (npr. 5-sferu ili stagod),

(2) snimis G1 u fajl-prvi.xml f-jom za snimanje (koju si napravio),

(3) ucitas fajl-prvi.xml u novi kompleks SimpComp *G2, f-jom za citanje (koju sad pravis),

(4) snimis G2 u fajl-drugi.xml f-jom za snimanje,

(5) uporedis fajl-prvi.xml i fajl-drugi.xml (npr. diff-om ili cime god).

Ako su dva fajla uglavnom identicna (do na vrednosti UniqueID brojeva i eventualne izmene u redosledu zapisivanja isl), test je prosao, i zadatak je resen. ;-)

Osim toga, ako bi uspeo jos da namestis obe f-je (za citanje i snimanje) tako da cak i redosled kojim su stavke zapisane u dva fajla bude isti, tj. da fajlovi budu potpuno identicni (do na UniqueID-ove), to bi onda bila bas prava stvar. :-) Ali to nije obavezno --- redosled stavki u fajlovima u principu nije bitan, dokle god mozemo pouzdano da se ubedimo da fajlovi zaista sadrze iste podatke.

:-)
Marko

P.S. Drago mi je da si se lepo proveo u CERN-u, i da postoji mogucnost da ides opet, svakako iskoristi priliku ako ti se ukaze...


Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail:    vmarko@ipb.ac.rs



On Mon, 7 Nov 2022, Nenad Korolija wrote:

> Zdravo Dušane,
>
> Ja se slažem. Ima smisla izdvojiti celu I/O funkcionalnost u posebnu klasu, tj. fajl.
>
> Pozdrav,
> Nenad
>
> On Sun, Nov 6, 2022 at 5:16 PM Dušan Cvijetić <dusancvijetic2000@gmail.com> wrote:
>       Pozdrav,
>
>       Predlažem da se za I/O funkcionalnosti napravi nova klasa, pošto
>       trenutno radim na čitanju kompleksa iz fajla i imam mnogo pomoćnih
>       funkcija koje sam napravio, a koje trenutno plutaju u etru, pa bi bilo
>       lepše grupisati ih.
>
>       Pozdravi,
>       Dušan
>
>       On 30/10/2022 19:58, Dušan Cvijetić wrote:
>       > Pozdrav,
>       >
>       > Radim na čitanju iz fajla, pošto sam konačno prešao na Ubuntu.
>       >
>       > Da li treba sada da razmišljam i o hvatanju izuzetaka, ili je to tema
>       > kojoj ćemo kasnije da se posvetimo?
>       >
>       > Pozdravi,
>       > Dušan
>       >
>       > On 07/03/2022 06:00, Marko Vojinovic wrote:
>       >>
>       >> Vazi. :-)
>       >>
>       >> Sto se citanja iz fajla tice, obrati samo paznju kako ces da
>       >> instanciras UniqueID boje --- moraces "rucno" da im menjas vrednosti
>       >> na osnovu onoga sto procitas iz .xml fajla, jer konstruktor
>       >> UniqueIDColor::UniqueIDColor() zadaje te id-jeve automatski.
>       >>
>       >> Takodje, kad sve zavrsis, treba da setujes vrednost za
>       >> UniqueIDColor::next_free_uid_number na ono sto bi trebalo da bude
>       >> prvi slobodan id broj. To je valjda id vrednost prvog simpleksa u
>       >> fajlu, jer su oni u fajlu poredjani rastucim redom, a ti id-jevi iz
>       >> fajla ne treba da postoje u konacnoj strukturi u memoriji, pa bi prvi
>       >> od njih trebalo da bude "slobodan" na samom kraju...
>       >>
>       >> Jedino nisam siguran kako ce next_free_uid_number da funkcionise u
>       >> kontekstu veceg broja istovremeno instanciranih kompleksa, ali to je
>       >> pitanje dizajna o kome moram jos da razmislim.
>       >>
>       >> Ostatak algoritma osmisli sam, kako mislis da je najzgodnije.
>       >>
>       >> :-)
>       >> Marko
>       >>
>       >>
>       >> Dr. Marko Vojinovic
>       >> Group for Gravitation, Particles and Fields
>       >> Institute of Physics
>       >> University of Belgrade
>       >> ======================
>       >> home page: www.markovojinovic.com
>       >> e-mail:    vmarko@ipb.ac.rs
>       >>
>       >>
>       >>
>       >> On Mon, 7 Mar 2022, Dusan Cvijetic wrote:
>       >>
>       >>> Pozdrav,
>       >>>
>       >>> S obzirom da sam radio ispis u .xml fajl, preuzeću i učitavanje
>       >>> kompleksa iz fajla.
>       >>>
>       >>> Pozdravi,
>       >>> Dušan
>       >>>
>       >>> пет, 11. феб 2022. у 23:17 Marko Vojinovic <vmarko@ipb.ac.rs> је
>       >>> написао/ла:
>       >>>
>       >>>       Implementirati metod u klasi SimpComp koji ce da procita dati
>       >>> fajl i instancira u memoriji simplicijalni kompleks na osnovu
>       >>> podataka iz fajla:
>       >>>
>       >>>          SimpComp* SimpComp::read_complex_from_file( file* f );
>       >>>
>       >>>          Input: Pointer na fajl iz koga se citaju podaci.
>       >>>          Output: pointer na instancirani simplicijalni kompleks
>       >>> kreiran na osnovu podataka iz fajla.
>       >>>
>       >>>       Ovaj zadatak treba da instancira nov prazan kompleks, zatim da
>       >>> cita dati fajl, interpretira sintaksu iz zadatka 7, i da na osnovu
>       >>> tih podataka popuni kompleks odgovarajucim
>       >>>       simpleksima datih nivoa, a zatim i boje i susede svakog
>       >>> simpleksa ponaosob. Ovo je u sustini inverzni algoritam u odnosu na
>       >>> zadatak 7, i zavisi od tacne implementacije tog
>       >>>       zadatka (tj. od tacne sintakse snimljenog fajla), pa ovaj
>       >>> zadatak treba raditi tek kada budemo sigurni da smo skroz zadovoljni
>       >>> sa radom f-ja za snimanje u fajl.
>       >>>
>       >>>       I u ovom slucaju cemo mozda uraditi vise verzija f-je za
>       >>> citanje, po jednu za svaki format fajla.
>       >>>
>       >>>
>       >>>       :-)
>       >>>       Marko
>       >>>
>       >>>
>       >>>       Dr. Marko Vojinovic
>       >>>       Group for Gravitation, Particles and Fields
>       >>>       Institute of Physics
>       >>>       University of Belgrade
>       >>>       ======================
>       >>>       home page: www.markovojinovic.com
>       >>>       e-mail:    vmarko@ipb.ac.rs
>       >>>
>       >>>
>       >>>       --
>       >>>       QGHG-it-dev-list mailing list
>       >>>       QGHG-it-dev-list@ipb.ac.rs
>       >>>       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>       >>>
>       >>>
>       >>>
>       >>
>       --
>       QGHG-it-dev-list mailing list
>       QGHG-it-dev-list@ipb.ac.rs
>       http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
>
>--
QGHG-it-dev-list mailing list
QGHG-it-dev-list@ipb.ac.rs
http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list