Salome HOME
PAL21718: Composite Side Discretisation 1D Algorithm works incorrently with attached...
authoreap <eap@opencascade.com>
Tue, 27 Apr 2010 09:24:04 +0000 (09:24 +0000)
committereap <eap@opencascade.com>
Tue, 27 Apr 2010 09:24:04 +0000 (09:24 +0000)
GeomAbs_Shape SMESH_Algo::Continuity(TopoDS_Edge E1,
                                     TopoDS_Edge E2)
{
+  E1.Orientation(TopAbs_FORWARD), E2.Orientation(TopAbs_FORWARD); // avoid pb with internal edges

src/SMESH/SMESH_Algo.cxx
src/SMESH/SMESH_Algo.hxx

index bd3f5fffa7dfe588de6d2e4a8c9f81f349357946..671e2660f4c8fb68344aa1251982b322194fcee8 100644 (file)
@@ -489,9 +489,10 @@ bool SMESH_Algo::InitCompatibleHypoFilter( SMESH_HypoFilter & theFilter,
  */
 //================================================================================
 
-GeomAbs_Shape SMESH_Algo::Continuity(const TopoDS_Edge & E1,
-                                     const TopoDS_Edge & E2)
+GeomAbs_Shape SMESH_Algo::Continuity(TopoDS_Edge E1,
+                                     TopoDS_Edge E2)
 {
+  E1.Orientation(TopAbs_FORWARD), E2.Orientation(TopAbs_FORWARD); // avoid pb with internal edges
   TopoDS_Vertex V = TopExp::LastVertex (E1, true);
   if ( !V.IsSame( TopExp::FirstVertex(E2, true )))
     if ( !TopExp::CommonVertex( E1, E2, V ))
index 9a6d88e5476d1b64e41083dcae188e9d744b0e82..03c0b7bdb11542d853733c945bbb981123288395 100644 (file)
@@ -301,7 +301,7 @@ public:
     * \param E2 - the 2nd edge
     * \retval GeomAbs_Shape - regularity at the junction between E1 and E2
    */
-  static GeomAbs_Shape Continuity(const TopoDS_Edge & E1, const TopoDS_Edge & E2);
+  static GeomAbs_Shape Continuity(TopoDS_Edge E1, TopoDS_Edge E2);
 
   /*!
    * \brief Return true if an edge can be considered as a continuation of another