Salome HOME
Fix FirstVertexOnCurve(edge): use MakeVertexOnCurve() instead of
authoreap <eap@opencascade.com>
Tue, 12 Mar 2013 11:28:32 +0000 (11:28 +0000)
committereap <eap@opencascade.com>
Tue, 12 Mar 2013 11:28:32 +0000 (11:28 +0000)
KindOfShape() to find the EDGE beginning

src/SMESH_SWIG/smeshDC.py

index 046e5e9ab8cd3e78c903b29786f2af65b9623132..4f15ee6063228ecc872b51b0c4339922c65f9a8d 100644 (file)
@@ -276,15 +276,15 @@ def AssureGeomPublished(mesh, geom, name=''):
 
 ## Return the first vertex of a geomertical edge by ignoring orienation
 def FirstVertexOnCurve(edge):
-    from geompy import SubShapeAll, ShapeType, KindOfShape, PointCoordinates
+    from geompy import SubShapeAll, ShapeType, MakeVertexOnCurve, PointCoordinates
     vv = SubShapeAll( edge, ShapeType["VERTEX"])
     if not vv:
         raise TypeError, "Given object has no vertices"
     if len( vv ) == 1: return vv[0]
-    info = KindOfShape(edge)
-    xyz = info[1:4] # coords of the first vertex
-    xyz1  = PointCoordinates( vv[0] )
-    xyz2  = PointCoordinates( vv[1] )
+    v0   = MakeVertexOnCurve(edge,0.)
+    xyz  = PointCoordinates( v0 ) # coords of the first vertex
+    xyz1 = PointCoordinates( vv[0] )
+    xyz2 = PointCoordinates( vv[1] )
     dist1, dist2 = 0,0
     for i in range(3):
         dist1 += abs( xyz[i] - xyz1[i] )