Pozdrav,

Dovršio sam kod za ispis u fajl. Ostalo mi je da ga iskomentarišem i ozbiljnije istestiram. Na prvi pogled se čini da radi, i da je i redosled svih stavki očuvan.

Planiram, takođe, još malo da ulepšam I/O funkcije, trenutno su mahom ogromne i ružne. Ostalo mi je par nedoumica oko nekih rešenja, koja sam označio u komentarima sa // NOTE: ili // TODO:. Uglavnom se tiču izuzetaka, ili rada u okviru postojeće arhitekture (konkretno, čitanje različitih boja sam rešio putem case strukture, što možda nije najsrećnije, ali mi ništa drugo nije palo na pamet).

Pre nego što nastavim sa testiranjem, imam još jedan predlog: nedavno sam počeo da učim cmake, pa bih voleo da pokušam da napravim cmake za naš projekat, ako se slažete. Tako bismo mogli bolje da organizujemo testove i kompajliranje.

Pozdravi,
Dušan

On 10/11/2022 11:55, Nenad Korolija wrote:
Zdravo Marko,

Ni ja se nisam dalje bavio triangulatorom, ali sam bar završio i poslednje repove sa Amerikancima i valjda skoro sve oko papirologije za reizbor (tu je bilo komplikacija, ali će valjda sve proći u redu:).
Ako ćeš imati vremena da baciš pogled na moje đubre, možda možemo i da budemo na vezi, pa da mi odmah kažeš šta da menjam (umesto da kucaš email), pa da nastaviš gledanje kad promenim...

Vidimo se,
Nenad

On Thu, Nov 10, 2022 at 11:52 AM Nenad Korolija <nenadko@gmail.com> wrote:
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