[QGHG-it-dev-list] Zadatak 8 - ucitavanje kompleksa iz fajla

Dušan Cvijetić dusancvijetic2000 at gmail.com
Sat Nov 19 12:26:58 CET 2022


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 at 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 at 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 <http://www.markovojinovic.com>
>         e-mail: vmarko at 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 at 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
>         <http://www.markovojinovic.com>
>         >       >> e-mail: vmarko at 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 at 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
>         <http://www.markovojinovic.com>
>         >       >>>       e-mail: vmarko at ipb.ac.rs
>         >       >>>
>         >       >>>
>         >       >>>       --
>         >       >>>       QGHG-it-dev-list mailing list
>         >       >>> QGHG-it-dev-list at ipb.ac.rs
>         >       >>>
>         http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>         >       >>>
>         >       >>>
>         >       >>>
>         >       >>
>         >       --
>         >       QGHG-it-dev-list mailing list
>         > QGHG-it-dev-list at ipb.ac.rs
>         > http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>         >
>         >
>         >--
>         QGHG-it-dev-list mailing list
>         QGHG-it-dev-list at ipb.ac.rs
>         http://mail.ipb.ac.rs/mailman/listinfo/qghg-it-dev-list
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ipb.ac.rs/pipermail/qghg-it-dev-list/attachments/20221119/87341c70/attachment-0001.htm>


More information about the QGHG-it-dev-list mailing list