* fichier : deda.dgibi * ************************************************************************ ************************************************************************ ************************************************************************ * Cas test pour l'operateur DEDAns * * On test le resultat de l'operateur DEDA sur des points sur des * * points situes a l'exterieur et a l'interieur d'un contour (2D) et * * d'une enveloppe (3D) * * Le maillage utilise est non convexe et non connexe (2 parties) * * On teste avec des points : * * - franchement loin du bord * * - tres pres du bord * * - colineaire/coplanaire a un element du bord * * - situes sur le bord (face, arete, sommet) * * - appartenant au bord (noeud du bord) * ************************************************************************ ** Indicateur pour le trace itrac = FAUX ; ** Distance pour placer des points "tres pres" du bord * si l'on reduit cette distance, il convient d'adapter le critere de * l'operateur DEDA en le choisissant plus eleve que la valeur par * defaut ************************************************************************ * EN DIMENSION 2 * ************************************************************************ 'MESS' ; 'MESS' ; ** Maillage du contour oriente convenablement : les trous internes * tournent dans le sens oppose du cadre exterieur p0 = 0. 0. ; p1 = 8. 0. ; p2 = 8. 8. ; p3 = 4. 4. ; p4 = 0. 8. ; ne1 = 10 ; 'DROI' ne1 p0 ; * p5 = 2. 2. ; p6 = 3. 2. ; * cont1 = cadre 'ET' cerc1 ; ** Table de points a l'exterieur et a l'interieur tpe . 1 = -1. -1. ; tpe . 2 = 4. 6. ; tpe . 3 = 2.5 2.7 ; tpe . 4 = 1.5 1.5 ; tpe . 7 = 15. 15. ; tpe . 8 = 0. 10. ; tpe . 9 = 10. 0. ; tpi . 1 = 4. 3. ; tpi . 2 = 6. 2. ; tpi . 5 = 5. 0. ; tpi . 6 = 1. 7. ; tpi . 7 = 4. 4. ; tpi . 8 = 8. 0. ; tpi . 9 = p0 ; tpi . 10 = p2 ; * 'SI' itrac ; 'FINSI' ; ** Test si les points sont bien a l'exterieur du contour pe1 = tpe . &b1 ; 'LIST' log1 ; 'SI' log1 ; 'LIST' pe1 ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' b1 ; ** Test si les points sont bien a l'interieur du contour 'MESS' ; pi1 = tpi . &b1 ; 'LIST' log1 ; 'SI' ('NON' log1) ; 'LIST' pi1 ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' b1 ; 'MESS' ; 'MESS' ; ************************************************************************ * EN DIMENSION 3 * ************************************************************************ 'MESS' ; 'MESS' ; ** Maillage de l'enveloppe par revolution du contour precedent p7 = 0. 10. 0. ; p8 = 1. 10. 0. ; ne2 = 10 ; env1 = env1 'ET' sur1 'ET' sur2 ; ** Table de points a l'exterieur et a l'interieur tpe . 1 = 1. 1. 1. ; tpe . 2 = -1. 10. -2. ; tpe . 7 = 2. 8. 0. ; tpe . 8 = 0. 10. 0. ; tpe . 9 = 2. 2. 0. ; tpi . 1 = 4. 3. -1. ; tpi . 2 = 7. 8. -5. ; tpi . 5 = 3. 4. 0. ; tpi . 6 = 8. 10. -8. ; tpi . 7 = 0. 0. 0. ; (0. 0. 0.) ; tpi . 10 = p6 ; 'SI' itrac ; 'FINSI' ; ** Test si les points sont bien a l'exterieur du contour pe1 = tpe . &b1 ; 'LIST' log1 ; 'SI' log1 ; 'LIST' pe1 ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' b1 ; ** Test si les points sont bien a l'interieur du contour 'MESS' ; pi1 = tpi . &b1 ; 'LIST' log1 ; 'SI' ('NON' log1) ; 'LIST' pi1 ; 'ERREUR' 5 ; 'FINSI' ; 'FIN' b1 ; ** Fin normale du cas test 'MESS' ; 'MESS' ; 'MESS' ; 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales