[QGHG-it-dev-list] Zadatak 8 - ucitavanje kompleksa iz fajla
Nenad Korolija
nenadko at gmail.com
Sun Nov 20 04:24:02 CET 2022
Zdravo Dušane,
Slažem se i ja sa svim predloženim, pogotovo sa:
"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. :-)"
Pozdrav!
Nenad
On Sun, Nov 20, 2022 at 3:53 AM Marko Vojinovic <vmarko at ipb.ac.rs> wrote:
>
> 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
> >
> >
> >
> >--
> 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/20221120/b677884b/attachment-0001.htm>
More information about the QGHG-it-dev-list
mailing list