1 # -*- coding: utf-8 -*-
13 from salome.geom import geomBuilder
18 geompy = geomBuilder.New()
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' )
39 import SMESH, SALOMEDS
40 from salome.smesh import smeshBuilder
42 from salome.BLSURFPlugin import BLSURFPluginBuilder
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 )
53 # Test quadrangle dominant
54 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.QuadrangleDominant )
55 isDone = Mesh_1.Compute()
57 assert Mesh_1.NbQuadrangles() > 0
58 assert Mesh_1.NbTriangles() > 0
59 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
62 # Test quadrangles only
63 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Quadrangles )
64 isDone = Mesh_1.Compute()
66 assert Mesh_1.NbQuadrangles() > 0
67 assert Mesh_1.NbTriangles() == 0
71 MG_CADSurf_Parameters_1.SetElementType( BLSURFPluginBuilder.Triangles )
72 isDone = Mesh_1.Compute()
74 assert Mesh_1.NbQuadrangles() == 0
75 assert Mesh_1.NbTriangles() > 0
77 # Test quadrangle dominant compatibility (to be deprecated in Salome 9)
78 MG_CADSurf_Parameters_1.SetQuadAllowed( True )
79 isDone = Mesh_1.Compute()
81 assert Mesh_1.NbQuadrangles() > 0
82 assert Mesh_1.NbTriangles() > 0
83 assert Mesh_1.NbQuadrangles() > Mesh_1.NbTriangles()
85 if salome.sg.hasDesktop():
86 salome.sg.updateObjBrowser(True)