[QGHG-it-dev-list] Zadatak 8 - ucitavanje kompleksa iz fajla
Marko Vojinovic
vmarko at ipb.ac.rs
Sun Nov 20 03:53:05 CET 2022
Pozdrav Dusane,
Hvala za I/O kod, pogledacu danas ili sutra kako izgleda i kako radi, kao i komentare i nedoumice koje su ti ostale, pa cu ti javiti komentare.
Sto se tice cmake, svakako, to treba da uradimo, i bas sada je pravi trenutak za to --- naime, uskoro treba da pocnemo da ugradjujemo nasu biblioteku rutina u gui koji je Jaroslav napravio u Qt-u. Ono sto bih ja zeleo da cmake uradi je sledece:
* Da obezbedi kompajliranje staticke biblioteke rutina (pod Linux-om se standardno zove triangulator-library.a, pod Windows-om ce mozda da se zove triangulator-library.dll ili vec kakogod), sa smislom onoga sto je uradjeno "peske" u build-script.sh, ali naravno tako da se kompajliranje izvrsi automatski, i to na lokalnoj masini/arhitekturi/operativnom sistemu kao target-sistemu.
* Da obezbedi kompajliranje gui-ja, takodje na lokalnom target-sistemu, tako da staticka biblioteka (kreirana u prethodnom koraku) bude ulinkovana za izvrsni fajl gui-ja. Inace, posto je gui napravljen u Qt-u, meni qtcreator omogucava da vidim Makefile koji on automatski generise i kojim kompajlira gui, a pretpostavljam da Visual Studio takodje radi nesto slicno, pa mozda to moze da ti pomogne za cmake za gui.
Imaj u vidu da ja ne znam ama bas nista o cmake, osim da je to alatka koja treba da omoguci da se ceo proces kompajliranja ucini dovoljno automatskim tako da ne moram da brinem o detaljima operativnog sistema, putanjama za include-fajlove, da li radim u qtcreator-u ili u VS-u, itdisl. Tako da bi bilo veoma dobro da implementiras cmake za nas projekt, i da celu stvar vrlo detaljno iskomentarises, da mi ostali mozemo citajuci to da naucimo sta tu kako treba da radi. :-)
Dakle samo napred, vrlo me zanima kako cmake moze da se primeni na nas projekt.
:-)
Marko
Dr. Marko Vojinovic
Group for Gravitation, Particles and Fields
Institute of Physics
University of Belgrade
======================
home page: www.markovojinovic.com
e-mail: vmarko at ipb.ac.rs
On Sat, 19 Nov 2022, Dušan Cvijetić wrote:
>
> 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
> 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
> > >> 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
> > >>> 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
>
>
>
>
More information about the QGHG-it-dev-list
mailing list