• Aucun résultat trouvé

G´ en´ eration du journal de bord

3.2 Evolution de la topologie au sein du noyau g´ ´ eom´ etrique

3.2.2 G´ en´ eration du journal de bord

Apr`es avoir associ´e `a chaque identifiant id (et donc `a chaque cellule c du mod`ele g´eom´etrique) un ensemble d’identifiants ens id (resp. une dimension dim) caract´erisant l’ancˆetre (resp. la dimension) de c, un parcours de toutes les cellules du mod`ele est entrepris a posteriori (c’est-`a- dire `a la fin d’une op´eration globale). Ce parcours a pour objectif la r´ecup´eration de l’int´egralit´e des associations reliant, d’une part, chaque cellule `a son ancˆetre et, d’autre part, chaque cellule `

a sa dimension topologique dim. Ces relations doivent ˆetre interpr´et´ees et structur´ees au sein du journal de bord, de mani`ere `a pouvoir distinguer les ´ev´enements survenus sur les cellules en entr´ee et en sortie d’une op´eration globale.

De mani`ere ´evidente, dans le cas d’une supression de cellules, la r´ecup´eration des associations que nous venons de d´ecrire ne peut ˆetre r´ealis´ee a posteriori. En effet, la supression d’une cellule implique la perte des informations qui lui sont associ´ees. Pour pallier `a cette perte, nous proposons, dans un premier temps, d’effectuer un parcours au d´ebut de toute op´eration globale. Durant ce parcours, les identifiants contenus dans les ensembles ens di sont regroup´es dans un

puis regrouper au sein d’un second ensemble, D2, les identifiants caract´erisant les ancˆetres des

cellules restantes (identifiants contenus dans les ensembles ens idi associ´es aux identifiants des

cellules restantes). Cela permet la determination des cellules supprim´ees en calculant la diff´erence entre ces deux ensembles comme suit D = D1− D2 puis en d´eduisant l’ensemble Z comme suit :

Z = {({x}, {})|x ∈ D}

Pour ´etayer ces propos, consid´erons l’exemple de la figure 3.7. Dans cet exemple, l’arˆete A5,

incidente aux faces F3 et F4, est supprim´ee suite `a l’application de l’op´eration ´el´ementaire de

fusion de faces6. De ce fait, les identifiants idF3, idF4 et idA5 caract´erisant respectivement les

cellules F3, F4 et A5 sont regroup´es dans D1. Ensuite, les identifiants idF3 et idF4 caract´erisant

les ancˆetres de la face F5 sont regroup´es dans D2. Le calcul de l’ensemble D = {idA5} permet

de d´eduire l’ensemble Z = {({idA5}, {})} et donc de d´eceler la suppression de l’arˆete A5.

Dans le cadre du formalisme d´efini dans la section 3.2.1, le parcours des cellules peut ˆetre assimil´e au parcours de l’ensemble E d´efini par :

E = {(id, ancˆetre(id))|id ∈ Dancˆetre}

Certains ´el´ements de E ayant le mˆeme ancˆetre (en d’autres termes les cellules r´esultant d’une scission), sont regroup´es en n sous-ensembles (n peut ˆetre nul). Chaque sous-ensemble, not´e SEk(k ∈ [0, n]), contient les ´el´ements x de E (x = (id, ens id)) ayant le mˆeme ens id

(seconde partie du couple ´egal `a x). D’un point de vue formel, SEk est d´efini par :

SEk = {∀xi, xj|(xi, xj) ∈ S 2

Ek ⇒ (xi, xj) ∈ E 2

et xi = (idi, set idi), xj = (idj, set idj),

set idi = set idj et set idi6= ∅}

Ainsi, dans le cas de la table 3.2 (qui regroupe les ´el´ements de l’ensemble E d´eduit de la fi- gure 3.6), le calcul des sous-ensembles SEkdonne le r´esultat suivant : SE0 = {(idF1, {idF}), (idF2,

{idF})}, SE1 = {(idA1.1, {idA1}), (idA1.2, {idA1})} et SE2 = {(idA2.1, {idA2}), (idA2.2, {idA2})}.

`

A partir des sous-ensembles SEk, nous pouvons extraire les ´ev´enements de scission en d´efi-

nissant un nouvel ensemble not´e S. Chaque ´el´ement (Ak, Bk) ∈ S associe les cellules objets de

la scission (Ak) `a ceux r´esultant de cette mˆeme scission (Bk) tels que :

S = {xk= (Ak, Bk)|k ∈ [0, n] et ∀x = (id, ens id)|x ∈ SEk ⇒ id ∈ Bk et Ak= ens id}

Donc, cet ensemble regroupe, sous forme de couples, tous les ´ev´enements de scission survenus `

a une ´etape du processus de mod´elisation param´etrique. Par exemple, l’ensemble S construit `

a partir des sous-ensembles SE0, SE1 et SE2 regroupe les ´ev´enements de scission (A0, B0) =

({idF}, {idF1, idF2}), (A1, B1) = ({idA1}, {idA1.1, idA1.2}) et (A2, B2) = ({idA2}, {idA2.1, idA2.2}).

(A0, B0), (A1, B1) et (A2, B2) traduisent alors respectivement la scission de F, A1 et A2 en deux

nouvelles faces F1, F2, deux nouvelles arˆetes A1.1, A1.2 et deux autres arˆetes A2.1, A2.2.

6

Malgr´e le fait que l’op´eration ´el´ementaire de fusion de faces porte le mˆeme nom que l’´ev´enement de fusion de cellules, ces deux notions sont diff´erentes. En effet, en plus de l’´ev´enement de fusion, cette op´eration g´en`ere ´egalement un ´ev´enement de suppression de l’arˆete incidente aux deux faces `a fusionner.

Cellule Identifiant Ensemble d’identifiants Dimension idi (set idi) F idF {idF} 2 A1 idA1 {idA1} 1 A2 idA2 {idA2} 1 F1 idF1 {idF} 2 F2 idF2 {idF} 2 A3 idA3 {} 1 A4 idA4 {} 1 A1.1 idA1.1 {idA1} 1 A1.2 idA1.2 {idA1} 1 A2.1 idA2.1 {idA2} 1 A2.2 idA2.2 {idA2} 1 S1 idS1 {} 0 S2 idS2 {} 0 S3 idS3 {} 0 S4 idS4 {} 0

Tab. 3.2: Informations associ´ees `a quelques cellules du mod`ele de la figure 3.6.

Pour tous les autres cas (c’est-`a-dire, les ´ev´enements de cr´eation et de fusion), nous d´efinissons l’ensemble A comme suit :

A = {∀x|x ∈ E −

n

[

k=0

SEk ⇒ x = (id, set id) et (set id, {id}) ∈ A}

Ainsi, pour la figure 3.3, l’ensemble E −Sn

k=0SE2 regroupe les ´el´ements (idA3, {}), (idA4, {}),

(idS1, {}), (idS2, {}), (idS3, {}) et (idS4, {}). Il en r´esulte la composition suivante de l’ensemble

A : ({}, {idA3}), ({}, {idA4}), ({}, {idS1}), ({}, {idS2}), ({}, {idS3}) et ({}, {idS4}) qui traduit les

´

ev´enements de cr´eation des arˆetes A3 et A4 ainsi que les sommets S1, S2, S3 et S4.

Finalement, chaque ligne du journal de bord correspond `a un ´el´ement de l’ensemble J B d´efini par :

J B = S ∪ Z ∪ A

En effet, pour chaque couple x = (e1, e2) appartenant `a J B, nous r´epartissons e1 (premier

´

el´ement de x) dans la case des cellules de d´epart et e2 (second ´el´ement de x) dans la case des

cellules d’arriv´ee de la structure de journal de bord. Donc, `a l’issue de l’op´eration globale de la figure 3.3, les ´el´ements de l’ensemble S sont r´epartis sur les lignes 1 `a 3 du journal de bord repr´esent´e par la table 3.3. Ceux de l’ensemble A (du moins pour l’´ev´enement de cr´eation) sont r´epartis sur les lignes 4 et 5 et l’ensemble Z ne comprend aucun ´el´ement pour cet exemple.

Apr`es avoir r´eparti les ´el´ements de l’ensemble J B dans le journal de bord, nous passons `a la prochaine ´etape de construction. Cette ´etape consiste `a identifier les ´ev´enements (cr´eation, suppression, scission, fusion, modification) mettant en relation les cellules d’une mˆeme ligne dans cette structure.

Entit´es de d´epart Entit´es d’arriv´ee Type d’´ev´enement idF {idF1, idF2} scission idA1 {idA1.1, idA1.2} scission idA2 {idA2.1, idA2.2} scission . . . . {} {idS1} cr´eation {} {idS2} cr´eation

Tab. 3.3: Journal de bord g´en´er´e suite `a l’application de l’op´eration bool´eenne de la figure 3.3.

Comme nous pouvons le constater, le crit`ere utilis´e pour l’interpr´etation des ´ev´enements est la cardinalit´e de l’ensemble des Entit´es de D´epart (card(ED)) et celles d’Arriv´ee (card(EA)) : 1. si ED est un ensemble vide alors l’´ev´enement correspondant est une cr´eation (voir la ligne

4 de la table 3.3) ;

2. si EA est un ensemble vide alors l’´ev´enement correspondant est une suppression ;

3. si card(ED) = 1 et card(EA) > 1 alors l’´ev´enement correspondant est une scission (voir la ligne 1 de la table 3.3) ;

4. si card(EA) = 1 et card(ED) > 1 alors l’´ev´enement correspondant est une fusion ; 5. si card(EA) = 1, card(ED) = 1 et EA 6= ED alors l’´ev´enement correspondant est une

modification.