1
+ import pyMagix3D as Mgx3D
2
+ import pytest
3
+
4
+ def test_issue78 (capfd ):
5
+ ctx = Mgx3D .getStdContext ()
6
+ ctx .clearSession () # Clean the session after the previous test
7
+
8
+ # Création du sommet Pt0000
9
+ ctx .getGeomManager ().newVertex (Mgx3D .Point (0 , 0 , 0 ))
10
+ # Création du sommet Pt0001
11
+ ctx .getGeomManager ().newVertex (Mgx3D .Point (1 , 0 , 0 ))
12
+ # Création du sommet Pt0002
13
+ ctx .getGeomManager ().newVertex (Mgx3D .Point (1 , 2 , 0 ))
14
+ # Création du sommet Pt0003
15
+ ctx .getGeomManager ().newVertex (Mgx3D .Point (0 , 2 , 0 ))
16
+ # Création du segment Crb0000
17
+ ctx .getGeomManager ().newSegment ("Pt0000" , "Pt0001" )
18
+ # Création du segment Crb0001
19
+ ctx .getGeomManager ().newSegment ("Pt0001" , "Pt0002" )
20
+ # Création du segment Crb0002
21
+ ctx .getGeomManager ().newSegment ("Pt0002" , "Pt0003" )
22
+ # Création du segment Crb0003
23
+ ctx .getGeomManager ().newSegment ("Pt0003" , "Pt0000" )
24
+ # Création de la surface Surf0000
25
+ ctx .getGeomManager ().newPlanarSurface ( ["Crb0000" , "Crb0001" , "Crb0002" , "Crb0003" ] , "" )
26
+ # Création d'une face topologique structurée sur une géométrie (Surf0000)
27
+ ctx .getTopoManager ().newStructuredTopoOnGeometry ("Surf0000" )
28
+ # Découpage de l'arête Ar0000
29
+ ctx .getTopoManager ().splitEdge ("Ar0000" , .4 )
30
+ # Découpage de la face Fa0000 par prolongation
31
+ ctx .getTopoManager ().extendSplitFace ("Fa0000" , "Som0004" )
32
+ assert ctx .getTopoManager ().getNbFaces ()== 2
33
+ ctx .undo ()
34
+ assert ctx .getTopoManager ().getNbFaces ()== 1
35
+ # Changement de discrétisation pour les arêtes Ar0002
36
+ emp = Mgx3D .EdgeMeshingPropertyUniform (3 )
37
+ ctx .getTopoManager ().setMeshingProperty (emp ,["Ar0002" ])
38
+ with pytest .raises (RuntimeError ) as excinfo :
39
+ # Impossible car les discrétisations ne sont pas compatibles
40
+ ctx .getTopoManager ().extendSplitFace ("Fa0000" , "Som0004" )
41
+ expected = "Echec lors du découpage de la face Fa0000, le nombre d'arêtes de maillage est différent de part et d'autre de la face (10 vs 3)"
42
+ assert expected in str (excinfo .value )
0 commit comments