[QGHG-it-dev-list] Zadatak 14 - dodavanje novog D-simpleksa na granicu kompleksa

Marko Vojinovic vmarko at ipb.ac.rs
Tue Mar 1 03:51:17 CET 2022


Implementirati f-ju za dodavanje novog D-simpleksa na granicu kompleksa:

    KSimplex* attach_new_simplex_to_boundary( KSimplex *boundsimp , SimpComp *G);

    Input: kompleks G, (D-1)-simpleks "boundsimp" za koji kacimo nov D-simpleks.
    Output: pointer na novo-kreirani zakaceni D-simpleks.

Ovo je prva u nizu funkcija (ostale su Pachner-ovi potezi) za "izgradnju" veceg kompleksa na osnovu onog koji je napravljen nekom od seed f-ja. Moze da se koristi ukoliko kompleks ima granicu, tj. ako je boundsimp neki (D-1)-simpleks sa Boundary bojom setovanom na "true". Algoritam ide ovako:

(1) Proveriti da je boundsimp element iz G, da je njegov nivo k = D-1, i da je obojen Boundary bojom. Ako bilo sta od ovoga nije zadovoljeno, prijaviti error u log i vratiti nullptr.

(2) Proveriti da je vrednost Boundary boje za boundsimp setovana na "true". Ako nije, prijaviti warning u log i vratiti nullptr.

(3) Pozvati nad boundsimp-om f-ju build_simplex_one_level_up() iz zadatka 12, da sazida dodatni D-simpleks.

(4) Sve susede sazidanog D-simpleksa koji su nivoa k = D-1 obojiti Boundary bojom, izuzev boundsimp-a koji je vec obojen. Za svakog od njih setovati vrednost boundary boje na "true", a za boundsimp je setovati na "false".

(5) Vratiti pointer na sazidani D-simpleks. Ako je nesto poslo naopako, napisati error u log i vratiti nullptr.

Obratiti paznju da kada se za boundsimp zakaci nov D-simpleks, on prestaje da bude na granici kompleksa, a granica se pomera na sve ostale (D-1)-susede novog D-simpleksa. Mozete da nacrtate ovo na papiru za slucaj D=2 ako vas interesuje geometrijski smisao. ;-)

I ovo se testira bojenjem kompleksa sa UniqueID, ispisivanjem sa print_compact() i crtanjem rezultata na papiru.

:-)
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




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