From: eap Date: Mon, 5 Aug 2013 12:30:05 +0000 (+0000) Subject: progress bar: fix for viscous layers X-Git-Tag: V7_3_0a1~229 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9a4f5e4852afef4eac26f069ea33de5bcbfdc72b;p=modules%2Fsmesh.git progress bar: fix for viscous layers --- diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index bcddd46d5..4ae04c647 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -1486,12 +1486,16 @@ double SMESH_Mesh::GetComputeProgress() const currentSubIds.Add( smToCompute[i]->GetId() ); } double rate = algo->GetProgress(); - if ( !( 0. < rate && rate < 1.001 )) + if ( 0. < rate && rate < 1.001 ) + { + computedCost += rate * ( algoDoneCost + algoNotDoneCost ); + } + else { rate = algo->GetProgressByTic(); + computedCost += algoDoneCost + rate * algoNotDoneCost; } // cout << "rate: "<ShapeToIndex( F ) ); -#endif + << " not in face " << GetMeshDS()->ShapeToIndex( F ) ); // get UV of a vertex closest to the node double dist = 1e100; gp_Pnt pn = XYZ( n ); @@ -909,7 +907,6 @@ bool SMESH_MesherHelper::CheckNodeU(const TopoDS_Edge& E, { double r = Max( 0.5, 1 - tol*n->GetID()); // to get a unique u on edge u = f*r + l*(1-r); - MESSAGE("curve.IsNull: " << u); } } else @@ -966,7 +963,6 @@ bool SMESH_MesherHelper::CheckNodeU(const TopoDS_Edge& E, } else if ( fabs( u ) > numeric_limits::min() ) { - MESSAGE("fabs( u ) > numeric_limits::min() ; u " << u << " f " << f << " l " << l); setPosOnShapeValidity( shapeID, true ); } if (( u < f-tol || u > l+tol ) && force ) @@ -4677,4 +4673,3 @@ void SMESH_MesherHelper::FixQuadraticElements(SMESH_ComputeErrorPtr& compError, } } } -