Salome HOME
23418: [OCC] Mesh: Minimization of memory usage of SMESH
[modules/smesh.git] / src / StdMeshers / StdMeshers_Prism_3D.cxx
index 9fc322c753cfc8d2d54424f6d46c12eb9f3cc4e6..f5807f09a192f848a28904cad3c1cbd6514297fe 100644 (file)
@@ -111,6 +111,7 @@ namespace {
         algo->myProxyMesh.reset( new SMESH_ProxyMesh( *helper->GetMesh() ));
 
       algo->myQuadList.clear();
+      algo->myHelper = 0;
 
       if ( helper )
         algo->_quadraticMesh = helper->GetIsQuadratic();
@@ -1797,9 +1798,8 @@ bool StdMeshers_Prism_3D::computeWalls(const Prism_3D::TPrismTopo& thePrism)
       if ( myHelper->GetIsQuadratic() )
       {
         // fill myHelper with medium nodes built by quadAlgo
-        SMDS_ElemIteratorPtr fIt = fSM->GetSubMeshDS()->GetElements();
-        while ( fIt->more() )
-          myHelper->AddTLinks( dynamic_cast<const SMDS_MeshFace*>( fIt->next() ));
+        for ( SMDS_ElemIteratorPtr fIt = fSM->GetSubMeshDS()->GetElements(); fIt->more(); )
+          myHelper->AddTLinks( SMDS_Mesh::DownCast<SMDS_MeshFace>( fIt->next() ));
       }
     }
   }
@@ -2589,7 +2589,7 @@ double StdMeshers_Prism_3D::getSweepTolerance( const Prism_3D::TPrismTopo& thePr
 
 //=======================================================================
 //function : isSimpleQuad
-//purpose  : check if the bottom FACE is meshable with nice qudrangles,
+//purpose  : check if the bottom FACE is meshable with nice quadrangles,
 //           if so the block aproach can work rather fast.
 //           This is a temporary mean caused by problems in StdMeshers_Sweeper
 //=======================================================================
@@ -3062,7 +3062,7 @@ bool StdMeshers_Prism_3D::IsApplicable(const TopoDS_Shape & shape, bool toCheckA
 
           if ( side._topEdge.IsNull() )
           {
-            // find vertical EDGEs --- EGDEs shared with neighbor side FACEs
+            // find vertical EDGEs --- EDGEs shared with neighbor side FACEs
             for ( int is2nd = 0; is2nd < 2 && isOK; ++is2nd ) // 2 adjacent neighbors
             {
               int di = is2nd ? 1 : -1;
@@ -3423,7 +3423,7 @@ bool StdMeshers_Prism_3D::initPrism(Prism_3D::TPrismTopo& thePrism,
   if ( !botSM ) // find a proper bottom
   {
     bool savedSetErrorToSM = mySetErrorToSM;
-    mySetErrorToSM = false; // ingore errors in initPrism()
+    mySetErrorToSM = false; // ignore errors in initPrism()
 
     // search among meshed FACEs
     list< SMESH_subMesh* >::iterator sm = meshedSubMesh.begin();
@@ -4846,7 +4846,7 @@ TPCurveOnHorFaceAdaptor::TPCurveOnHorFaceAdaptor( const TSideFace*   sideFace,
         }
         if ( !C2d.IsNull() )
         {
-          double u = static_cast< const SMDS_EdgePosition* >( n->GetPosition() )->GetUParameter();
+          double u = SMDS_EdgePositionPtr( n->GetPosition() )->GetUParameter();
           if ( f <= u && u <= l )
           {
             uv = C2d->Value( u ).XY();
@@ -4958,7 +4958,7 @@ bool StdMeshers_Sweeper::ComputeNodesByTrsf( const double tol,
   const size_t zSrc = 0, zTgt = zSize-1;
   if ( zSize < 3 ) return true;
 
-  vector< vector< gp_XYZ > > intPntsOfLayer( zSize ); // node coodinates to compute
+  vector< vector< gp_XYZ > > intPntsOfLayer( zSize ); // node coordinates to compute
   // set coordinates of src and tgt nodes
   for ( size_t z = 0; z < intPntsOfLayer.size(); ++z )
     intPntsOfLayer[ z ].resize( myIntColumns.size() );
@@ -4972,7 +4972,7 @@ bool StdMeshers_Sweeper::ComputeNodesByTrsf( const double tol,
   prepareTopBotDelaunay();
   bool isErrorCorrectable = findDelaunayTriangles();
 
-  // compute coordinates of internal nodes by projecting (transfroming) src and tgt
+  // compute coordinates of internal nodes by projecting (transforming) src and tgt
   // nodes towards the central layer
 
   vector< NSProjUtils::TrsfFinder3D > trsfOfLayer( zSize );