Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
5848193
)
IPAL21363 Compute hangs up on Hypothesis Distribution of Layers.
author
dmv
<dmv@opencascade.com>
Mon, 12 Oct 2009 13:16:41 +0000
(13:16 +0000)
committer
dmv
<dmv@opencascade.com>
Mon, 12 Oct 2009 13:16:41 +0000
(13:16 +0000)
src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
patch
|
blob
|
history
diff --git
a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
index 303d68ab049ba0bc0246ecf0e237bdf8731fa27f..fdb026293d54ea0d58b250f3d6f789d1b8ae8f00 100644
(file)
--- a/
src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
+++ b/
src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx
@@
-221,20
+221,23
@@
bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh,
bool ok = _gen->Compute( aMesh, CircEdge, false, MeshDim_1D );
if( !ok ) return false;
std::map< double, const SMDS_MeshNode* > theNodes;
bool ok = _gen->Compute( aMesh, CircEdge, false, MeshDim_1D );
if( !ok ) return false;
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();
std::map< double, const SMDS_MeshNode* >::iterator itn = theNodes.begin();
const SMDS_MeshNode* NF = (*itn).second;
CNodes.push_back( (*itn).second );
double fang = (*itn).first;
CNodes.clear();
std::map< double, const SMDS_MeshNode* >::iterator itn = theNodes.begin();
const SMDS_MeshNode* NF = (*itn).second;
CNodes.push_back( (*itn).second );
double fang = (*itn).first;
- itn++;
- for(; itn != theNodes.end(); itn++ ) {
- CNodes.push_back( (*itn).second );
- double ang = (*itn).first - fang;
- if( ang>PI ) ang = ang - 2*PI;
- if( ang<-PI ) ang = ang + 2*PI;
- Angles.Append( ang );
+ if ( itn != theNodes.end() ) {
+ itn++;
+ for(; itn != theNodes.end(); itn++ ) {
+ CNodes.push_back( (*itn).second );
+ double ang = (*itn).first - fang;
+ if( ang>PI ) ang = ang - 2*PI;
+ if( ang<-PI ) ang = ang + 2*PI;
+ Angles.Append( ang );
+ }
}
P1 = gp_Pnt( NF->X(), NF->Y(), NF->Z() );
P0 = aCirc->Location();
}
P1 = gp_Pnt( NF->X(), NF->Y(), NF->Z() );
P0 = aCirc->Location();