* fichier : test_verm.dgibi
* Teste l'opérateur VERM
* TEST DES DOUBLONS
* =================
* en 2D :
'OPTION' 'DIME' 2 ;
p1 = 0 0 ;
p2 = 0 1 ;
p3 = 1 1 ;
p4 = 1 0 ;
seg1 = 'MANU' 'SEG2' p1 p2 ;
a = seg1 'ET' ('COULEUR' 'BLEU' seg1) ;
'VERMAIL' a ;
'VERMAIL' a 'CORR' ;
* en 3D :
'OPTION' 'DIME' 3 ;
p1 = 0 0 0 ;
p2 = 0 1 0 ;
p3 = 1 1 0 ;
p4 = 1 0 0 ;
p5 = 0 0 1 ;
p6 = 0 1 1 ;
p7 = 1 1 1 ;
p8 = 1 0 1 ;
* sur un tétraèdre
tet = 'MANU' 'TET4' p1 p2 p3 (.2 .2 1) ;
tet2 = ('COULEUR' tet 'ROUGE') 'ET' ('COULEUR' tet 'BLEU')
'ET' ('MANU' 'TET4' p1 p2 p3 (.2 .2 -1));
'VERM' tet2 ;
* sur divers éléments
'OPTION' 'ELEM' 'CU20' ;
seg12 = 'DROIT' p1 3 p2 ;
seg23 = 'DROIT' p2 3 p3 ;
seg34 = 'DROIT' p3 2 p4 ;
seg41 = 'DROIT' p4 4 p1 ;
carre = 'SURFACE' (seg12 'ET' seg23 'ET' seg34 'ET' seg41) plan ;
seg56 = 'DROIT' p5 2 p6 ;
seg67 = 'DROIT' p6 4 p7 ;
seg78 = 'DROIT' p7 3 p8 ;
seg85 = 'DROIT' p8 2 p5 ;
top = 'SURFACE' (seg56 'ET' seg67 'ET' seg78 'ET' seg85) plan ;
seg15 = 'DROIT' p1 3 p5 ;
seg26 = 'DROIT' p2 3 p6 ;
seg37 = 'DROIT' p3 3 p7 ;
seg48 = 'DROIT' p4 3 p8 ;
lat12 = 'SURFACE' (seg15 'ET' seg56 'ET' ('INVERSE' seg26) 'ET'
('INVERSE' seg12)) 'PLAN' ;
lat23 = 'SURFACE' (seg23 'ET' seg37 'ET' ('INVERSE' seg67) 'ET'
('INVERSE' seg26)) 'PLAN' ;
lat34 = 'SURFACE' (seg34 'ET' seg48 'ET' ('INVERSE' seg78) 'ET'
('INVERSE' seg37)) 'PLAN' ;
lat41 = 'SURFACE' (seg41 'ET' seg15 'ET' ('INVERSE' seg85) 'ET'
('INVERSE' seg48)) 'PLAN' ;
env1 = carre 'ET' top 'ET' lat12 'ET' lat23 'ET' lat34 'ET' lat41 ;
cub = 'VOLUME' env1;
*'VERM' cub ;
mtest = ('ELEM' 1 ('ELEM' cub 'CU20')) 'ET'
('ELEM' 1 ('ELEM' cub 'PR15')) 'ET'
('ELEM' 1 ('ELEM' cub 'PY13')) 'ET'
('ELEM' 1 ('ELEM' cub 'TE10')) ;
mtest2 = mtest 'ET' ('COULEUR' 'VERT' mtest) ;
'VERM' mtest2 ;
'TEMPS' 'SGAC' 'IMPR';
* Vérification du degré d'éléments connexes
* =========================================
a = 'MANU' 'CUB8' p1 p2 p3 p4 p5 p6 p7 p8;
b = ('MANU' 'CUB8' p1 p2 p3 p4 p5 p6 p7 p8) 'PLUS' (1 0 0) ;
c = 'CHANGER' b 'CU20' ;
d = a 'ET' c;
'ELIMINATION' d 0.001 ;
'VERM' d ;
* Eléments connectés à des éléments d'une autre forme (échec)
* ===================================================
a = 'MANU' 'CUB8' p1 p2 p3 p4 p5 p6 p7 p8;
b = (('MANU' 'PRI6' p1 p2 p4 p5 p6 p8) 'ET'
('MANU' 'PRI6' p2 p3 p4 p6 p7 p8)
) 'PLUS' (0 0 1) ;
c = a 'ET' b;
'ELIMINATION' c 0.001 ;
'VERM' c ;
'TEMPS' 'SGAC' 'IMPR';
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer