IPAL21363 Compute hangs up on Hypothesis Distribution of Layers.

This commit is contained in:
dmv 2009-10-12 13:16:41 +00:00
parent 584819358b
commit c484895a0f

View File

@ -221,13 +221,15 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh,
bool ok = _gen->Compute( aMesh, CircEdge, false, MeshDim_1D ); bool ok = _gen->Compute( aMesh, CircEdge, false, MeshDim_1D );
if( !ok ) return false; if( !ok ) return false;
std::map< double, const SMDS_MeshNode* > theNodes; std::map< double, const SMDS_MeshNode* > theNodes;
GetSortedNodesOnEdge(aMesh.GetMeshDS(),CircEdge,true,theNodes); ok = GetSortedNodesOnEdge(aMesh.GetMeshDS(),CircEdge,true,theNodes);
if( !ok ) return false;
CNodes.clear(); CNodes.clear();
std::map< double, const SMDS_MeshNode* >::iterator itn = theNodes.begin(); std::map< double, const SMDS_MeshNode* >::iterator itn = theNodes.begin();
const SMDS_MeshNode* NF = (*itn).second; const SMDS_MeshNode* NF = (*itn).second;
CNodes.push_back( (*itn).second ); CNodes.push_back( (*itn).second );
double fang = (*itn).first; double fang = (*itn).first;
if ( itn != theNodes.end() ) {
itn++; itn++;
for(; itn != theNodes.end(); itn++ ) { for(; itn != theNodes.end(); itn++ ) {
CNodes.push_back( (*itn).second ); CNodes.push_back( (*itn).second );
@ -236,6 +238,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh,
if( ang<-PI ) ang = ang + 2*PI; if( ang<-PI ) ang = ang + 2*PI;
Angles.Append( ang ); Angles.Append( ang );
} }
}
P1 = gp_Pnt( NF->X(), NF->Y(), NF->Z() ); P1 = gp_Pnt( NF->X(), NF->Y(), NF->Z() );
P0 = aCirc->Location(); P0 = aCirc->Location();