Salome HOME
Merge V9_dev branch into master
[plugins/blsurfplugin.git] / tests / quadrangles.py
1 # -*- coding: utf-8 -*-
2
3 import sys
4 import salome
5
6 salome.salome_init()
7
8 ###
9 ### GEOM component
10 ###
11
12 import GEOM
13 from salome.geom import geomBuilder
14 import math
15 import SALOMEDS
16
17
18 geompy = geomBuilder.New()
19
20 O = geompy.MakeVertex(0, 0, 0)
21 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
22 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
23 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
24 Face_1 = geompy.MakeFaceHW(100, 100, 1)
25 Disk_1 = geompy.MakeDiskR(20, 1)
26 Partition_1 = geompy.MakePartition([Face_1, Disk_1], Limit=geompy.ShapeType["FACE"])
27 geompy.addToStudy( O, 'O' )
28 geompy.addToStudy( OX, 'OX' )
29 geompy.addToStudy( OY, 'OY' )
30 geompy.addToStudy( OZ, 'OZ' )
31 geompy.addToStudy( Face_1, 'Face_1' )
32 geompy.addToStudy( Disk_1, 'Disk_1' )
33 geompy.addToStudy( Partition_1, 'Partition_1' )
34
35 ###
36 ### SMESH component
37 ###
38
39 import  SMESH, SALOMEDS
40 from salome.smesh import smeshBuilder
41
42 from salome.BLSURFPlugin import BLSURFPluginBuilder
43
44 smesh = smeshBuilder.New()
45 Mesh_1 = smesh.Mesh(Partition_1)
46 MG_CADSurf = Mesh_1.Triangle(algo=smeshBuilder.MG_CADSurf)
47 MG_CADSurf_Parameters_1 = MG_CADSurf.Parameters()
48 MG_CADSurf_Parameters_1.SetPhySize( 10 )
49 MG_CADSurf_Parameters_1.SetMaxSize( 10 )
50 MG_CADSurf_Parameters_1.SetChordalError( -1 )
51
52
53 # Test quadrangle dominant
54 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.QuadrangleDominant )
55 isDone = Mesh_1.Compute()
56
57 assert Mesh_1.NbQuadrangles() > 0
58 assert Mesh_1.NbTriangles() > 0
59 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
60
61
62 # Test quadrangles only
63 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Quadrangles )
64 isDone = Mesh_1.Compute()
65
66 assert Mesh_1.NbQuadrangles() > 0
67 assert Mesh_1.NbTriangles() == 0
68
69
70 # Test triangles only
71 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Triangles )
72 isDone = Mesh_1.Compute()
73
74 assert Mesh_1.NbQuadrangles() == 0
75 assert Mesh_1.NbTriangles() > 0
76
77 # Test quadrangle dominant compatibility (to be deprecated in Salome 9)
78 MG_CADSurf_Parameters_1.SetQuadAllowed( True )
79 isDone = Mesh_1.Compute()
80
81 assert Mesh_1.NbQuadrangles() > 0
82 assert Mesh_1.NbTriangles() > 0
83 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
84
85 if salome.sg.hasDesktop():
86   salome.sg.updateObjBrowser(True)