2 % e2q (nedx2) Edges to Nodes
3 % e2q(l,il) : indice dans le tableau Th.q du sommet il de l'arete l
4 % e2t (nedx2) Edges to Triangles
5 % e2t(l,1) : indice dans le tableau Th.me du 1er triangle adjacent
7 % e2t(l,2) : indice dans le tableau Th.me du 2eme triangle adjacent
8 % a l'arete l si arete interne sinon 0
9 % e2n (nedx2) : Edges to local number
10 % e2n(l,1) : numero local de l'arete dans le 1er triangle (voir e2t)
11 % e2n(l,2) : numero local de l'arete dans le 2eme triangle (voir e2t)
12 % s'il existe. 0 sinon.
14 % e2do(l) : +1 si l'arete est dans le sens direct pour le 1er triangle (voir e2t)
16 % e2be (nbex3) : nbe number of boundary edges
17 % e2be(l,1) : numero de l'arete du bord
18 % e2be(l,2) : +1 si l'arete est dans le "bon" sens
20 % e2be(l,3) : label du bord
21 NumLocEdges=[ 1 2 ;2 3; 3 1]; % Numerotation locale des aretes
23 %NumLocEdges=[ 2 3 ;3 1; 1 2];
25 GlobalListEdges=[reshape(Th.me(NumLocEdges(:,1),:),3*Th.nme,1),reshape(Th.me(NumLocEdges(:,2),:),3*Th.nme,1)];
27 Edges2Elements=ones(3,1)*[1:Th.nme];
28 Edges2Elements=Edges2Elements(:);
30 Edges2LocalNum=[1; 2 ;3]*ones(1,Th.nme);
31 Edges2LocalNum=Edges2LocalNum(:);
33 [GlobalListEdgesSort,IS]=sort(GlobalListEdges,2);
34 PermutEdges=IS(:,2)-IS(:,1); % Contient 1 si arete dans le sens direct pour le triangle considéré
37 [e2q,IG,IE]=unique(GlobalListEdgesSort,'rows','first');
38 e2t=Edges2Elements(IG,:);
39 e2n=Edges2LocalNum(IG,:);
40 e2do=PermutEdges(IG); %
42 [e2ql,IGl,IEf]=unique(GlobalListEdgesSort,'rows','last');
43 e2tl=Edges2Elements(IGl,:);
44 e2nl=Edges2LocalNum(IGl,:);
54 [BE0,L]=sort(BE(:,2));
56 [BE1,J]=sort(BE0,2); % I(
58 [BE2a,K]=sort(BE1(:,1));
63 TTT=sortrows(TT,[1 2]);
65 % e2q(I,:) == TTT(:,1:2)
67 e2be=[I TTT(:,4) TTT(:,3)];
68 %[BE(K,:), e2q(I,:) Th.bel(K)']