mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-06 11:14:17 +05:00
0020872: [CEA] Script fails
* improve error repport in case of non-quadrangular elements
This commit is contained in:
parent
c985e18383
commit
e53ee3bc5f
@ -205,7 +205,7 @@ public: //** Access to member fields **//
|
||||
|
||||
private:
|
||||
|
||||
bool error(std::string& text, int code = COMPERR_ALGO_FAILED)
|
||||
bool error(const std::string& text, int code = COMPERR_ALGO_FAILED)
|
||||
{ myError = SMESH_ComputeError::New( code, text ); return false; }
|
||||
|
||||
bool error(const SMESH_ComputeErrorPtr& err)
|
||||
@ -987,6 +987,13 @@ bool _QuadFaceGrid::LoadGrid( SMESH_Mesh& mesh )
|
||||
if ( !myGrid.empty() )
|
||||
return true;
|
||||
|
||||
SMESHDS_SubMesh* faceSubMesh = mesh.GetSubMesh( myFace )->GetSubMeshDS();
|
||||
// check that all faces are quadrangular
|
||||
SMDS_ElemIteratorPtr fIt = faceSubMesh->GetElements();
|
||||
while ( fIt->more() )
|
||||
if ( fIt->next()->NbNodes() % 4 > 0 )
|
||||
return error("Non-quadrangular mesh faces are not allowed on sides of a composite block");
|
||||
|
||||
myIndexer._xSize = 1 + mySides.GetSide( Q_BOTTOM )->GetNbSegments( mesh );
|
||||
myIndexer._ySize = 1 + mySides.GetSide( Q_LEFT )->GetNbSegments( mesh );
|
||||
|
||||
@ -997,8 +1004,6 @@ bool _QuadFaceGrid::LoadGrid( SMESH_Mesh& mesh )
|
||||
|
||||
// store the rest nodes row by row
|
||||
|
||||
SMESHDS_SubMesh* faceSubMesh = mesh.GetSubMesh( myFace )->GetSubMeshDS();
|
||||
|
||||
SMDS_MeshNode dummy(0,0,0);
|
||||
const SMDS_MeshElement* firstQuad = &dummy;// most left face above the last row of found nodes
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user