]> SALOME platform Git repositories - modules/geom.git/blobdiff - doc/salome/examples/complex_objs_ex07.py
Salome HOME
Run all GEOM tests at once: all tests pass in 1min instead of 50min
[modules/geom.git] / doc / salome / examples / complex_objs_ex07.py
index f1f3a76925c07a91fa7e3f964deb493e1150b4ba..0643748bf58b4d375f2aabbdeb5db79811cb2dba 100644 (file)
@@ -8,54 +8,23 @@ geompy = geomBuilder.New()
 import salome
 gg = salome.ImportComponentGUI("GEOM")
 
-# Add a section based on quadrangles
-# ----------------------------------
-def section(s, p1, p2=None, p3=None, p4=None):
-    if p2==None:
-        q = p1
-    else:
-        q = geompy.MakeQuad4Vertices(p1, p2, p3, p4)
-        pass
-    s.append(q)
-    publish(q, "section")
-    return q
-
-
-# find distance between two points
-# -------------------------------
-def Dist(p1,p2):
-    c1 = geompy.PointCoordinates(p1)
-    c2 = geompy.PointCoordinates(p2)
-    return math.sqrt( (c2[0]-c1[0])*(c2[0]-c1[0]) +
-                      (c2[1]-c1[1])*(c2[1]-c1[1]) +
-                      (c2[2]-c1[2])*(c2[2]-c1[2]) )
-
-
-# return middle point
-# -------------------------------
-def MiddleVert(p1,p2):
-    c1 = geompy.PointCoordinates(p1)
-    c2 = geompy.PointCoordinates(p2)
-    return geompy.MakeVertex( (c2[0]+c1[0])/2, (c2[1]+c1[1])/2, (c2[2]+c1[2])/2 )
-
-
 # Complex section
 # result - 16 quads from lines
 # pnt - point from path
 # vec - direction from path
-def MakeComplexSect(pnt,vec,rmax,rmin,nb):
+def MakeComplexSect(pnt, vec, rmax, rmin, nb, geom_builder):
     dang = 1.0/nb/2
-    cmax = geompy.MakeCircle(pnt,vec,rmax)
-    cmin = geompy.MakeCircle(pnt,vec,rmin)
+    cmax = geom_builder.MakeCircle(pnt,vec,rmax)
+    cmin = geom_builder.MakeCircle(pnt,vec,rmin)
     faces = []
     for i in range(0,2*nb,2):
-        p1 = geompy.MakeVertexOnCurve(cmin,dang*i)
-        p2 = geompy.MakeVertexOnCurve(cmax,dang*(i+1))
-        p3 = geompy.MakeVertexOnCurve(cmin,dang*(i+2))
-        f = geompy.MakeQuad4Vertices(pnt,p1,p2,p3)
+        p1 = geom_builder.MakeVertexOnCurve(cmin,dang*i)
+        p2 = geom_builder.MakeVertexOnCurve(cmax,dang*(i+1))
+        p3 = geom_builder.MakeVertexOnCurve(cmin,dang*(i+2))
+        f = geom_builder.MakeQuad4Vertices(pnt,p1,p2,p3)
         faces.append(f)
         pass
-    shell = geompy.MakeSewing(faces,1.e-6)
+    shell = geom_builder.MakeSewing(faces,1.e-6)
     return shell
 
 
@@ -75,25 +44,25 @@ subbases = []
 locs = []
 
 # 1 section
-shell = MakeComplexSect(vs[0], geompy.MakeVectorDXDYDZ(1,0,0), 60, 40, 16)
+shell = MakeComplexSect(vs[0], geompy.MakeVectorDXDYDZ(1,0,0), 60, 40, 16, geom_builder=geompy)
 shells.append(shell)
 vs1 = geompy.SubShapeAllSortedCentres(shell,geompy.ShapeType["VERTEX"])
 locs.append(vs1[17])
 
 # 2 section
-shell = MakeComplexSect(vs[1], geompy.MakeVectorDXDYDZ(1,0,0), 80, 30, 16)
+shell = MakeComplexSect(vs[1], geompy.MakeVectorDXDYDZ(1,0,0), 80, 30, 16, geom_builder=geompy)
 shells.append(shell)
 vs2 = geompy.SubShapeAllSortedCentres(shell,geompy.ShapeType["VERTEX"])
 locs.append(vs2[17])
 
 # 3 section
-shell = MakeComplexSect(vs[2], geompy.MakeVectorDXDYDZ(1,0,0), 60, 40, 16)
+shell = MakeComplexSect(vs[2], geompy.MakeVectorDXDYDZ(1,0,0), 60, 40, 16, geom_builder=geompy)
 shells.append(shell)
 vs3 = geompy.SubShapeAllSortedCentres(shell,geompy.ShapeType["VERTEX"])
 locs.append(vs3[17])
 
 # 4 section
-shell = MakeComplexSect(vs[3], geompy.MakeVectorDXDYDZ(0,1,0), 40, 35, 16)
+shell = MakeComplexSect(vs[3], geompy.MakeVectorDXDYDZ(0,1,0), 40, 35, 16, geom_builder=geompy)
 shells.append(shell)
 vs4 = geompy.SubShapeAllSortedCentres(shell,geompy.ShapeType["VERTEX"])
 locs.append(vs4[17])