Salome HOME
bug PAL15961 ("Extrusion 3D" algo does not work )
authoreap <eap@opencascade.com>
Thu, 17 May 2007 07:03:11 +0000 (07:03 +0000)
committereap <eap@opencascade.com>
Thu, 17 May 2007 07:03:11 +0000 (07:03 +0000)
      speed optimization for the bug case

src/StdMeshers/StdMeshers_Prism_3D.cxx
src/StdMeshers/StdMeshers_Prism_3D.hxx

index 01339e702936e06d753c82be80f8324d66edcec5..d7da4e5871a164957db8fe704a1ad1bf03be4a08 100644 (file)
@@ -520,9 +520,10 @@ bool StdMeshers_Prism_3D::assocOrProjBottom2Top()
       continue; // wall columns are contained in myBlock
     // compute bottom node params
     TNode bN( botNode );
-    if ( !myBlock.ComputeParameters( bN.GetCoords(), bN.ChangeParams(), ID_BOT_FACE ))
-      return error(dfltErr(),TCom("Can't compute normalized parameters ")
-                   << "for node " << botNode->GetID() << " on the face #"<< botSM->GetId() );
+    if ( zSize > 2 )
+      if ( !myBlock.ComputeParameters( bN.GetCoords(), bN.ChangeParams(), ID_BOT_FACE ))
+        return error(dfltErr(),TCom("Can't compute normalized parameters ")
+                     << "for node " << botNode->GetID() << " on the face #"<< botSM->GetId() );
     // create node column
     TNode2ColumnMap::iterator bN_col = 
       myBotToColumnMap.insert( make_pair ( bN, TNodeColumn() )).first;
index 55a2495707e4b9e6c72e9b304a054f9f9b884e5b..20e92a2cbca69e7894f390173404d4b1e8bf7476 100644 (file)
@@ -81,7 +81,7 @@ struct TNode
   SMDS_TypeOfPosition GetPositionType() const
   { return myNode ? myNode->GetPosition()->GetTypeOfPosition() : SMDS_TOP_UNSPEC; }
 
-  TNode(const SMDS_MeshNode* node = 0): myNode(node) {}
+  TNode(const SMDS_MeshNode* node = 0): myNode(node), myParams(0,0,0) {}
   bool operator < (const TNode& other) const { return myNode < other.myNode; }
 };