Salome HOME
PAL11958. Prevent SIGSEGV on edgenerated edges when mesh is quadratic
authoreap <eap@opencascade.com>
Tue, 18 Apr 2006 12:54:08 +0000 (12:54 +0000)
committereap <eap@opencascade.com>
Tue, 18 Apr 2006 12:54:08 +0000 (12:54 +0000)
src/StdMeshers/StdMeshers_Regular_1D.cxx

index 28ddd2bddcdd58a6f390c8d4126ff2b59112be48..78519c8617299661b7242bb2da885c1c6c3537db 100644 (file)
@@ -648,8 +648,7 @@ bool StdMeshers_Regular_1D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
       if(_quadraticMesh) {
         // create medium node
         double prm = param - du/2.;
-        gp_Pnt PM = Curve->Value(prm);
-        SMDS_MeshNode * NM = meshDS->AddNode(PM.X(), PM.Y(), PM.Z());
+        SMDS_MeshNode * NM = meshDS->AddNode(P.X(), P.Y(), P.Z());
         meshDS->SetNodeOnEdge(NM, shapeID, prm);
         SMDS_MeshEdge * edge = meshDS->AddEdge(idPrev, node, NM);
         meshDS->SetMeshElementOnShape(edge, shapeID);
@@ -664,8 +663,7 @@ bool StdMeshers_Regular_1D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
     if(_quadraticMesh) {
       // create medium node
       double prm = l - du/2.;
-      gp_Pnt PM = Curve->Value(prm);
-      SMDS_MeshNode * NM = meshDS->AddNode(PM.X(), PM.Y(), PM.Z());
+      SMDS_MeshNode * NM = meshDS->AddNode(P.X(), P.Y(), P.Z());
       meshDS->SetNodeOnEdge(NM, shapeID, prm);
       SMDS_MeshEdge * edge = meshDS->AddEdge(idPrev, idLast, NM);
       meshDS->SetMeshElementOnShape(edge, shapeID);