mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 09:20:34 +05:00
0020279: [CEA 334] control the "random" use when using mesh algorithms
fix IsQuadraticSubMesh() to work on mesh w/o shape
This commit is contained in:
parent
b632539159
commit
b6c9c862b4
@ -27,7 +27,6 @@
|
|||||||
|
|
||||||
#include "SMDS_FacePosition.hxx"
|
#include "SMDS_FacePosition.hxx"
|
||||||
#include "SMDS_EdgePosition.hxx"
|
#include "SMDS_EdgePosition.hxx"
|
||||||
#include "SMESH_MeshEditor.hxx"
|
|
||||||
|
|
||||||
#include <BRepAdaptor_Surface.hxx>
|
#include <BRepAdaptor_Surface.hxx>
|
||||||
#include <BRepTools.hxx>
|
#include <BRepTools.hxx>
|
||||||
@ -80,6 +79,8 @@ bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh)
|
|||||||
TopAbs_ShapeEnum subType( aSh.ShapeType()==TopAbs_FACE ? TopAbs_EDGE : TopAbs_FACE );
|
TopAbs_ShapeEnum subType( aSh.ShapeType()==TopAbs_FACE ? TopAbs_EDGE : TopAbs_FACE );
|
||||||
SMDSAbs_ElementType elemType( subType==TopAbs_FACE ? SMDSAbs_Face : SMDSAbs_Edge );
|
SMDSAbs_ElementType elemType( subType==TopAbs_FACE ? SMDSAbs_Face : SMDSAbs_Edge );
|
||||||
|
|
||||||
|
int nbOldLinks = myNLinkNodeMap.size();
|
||||||
|
|
||||||
TopExp_Explorer exp( aSh, subType );
|
TopExp_Explorer exp( aSh, subType );
|
||||||
for (; exp.More() && myCreateQuadratic; exp.Next()) {
|
for (; exp.More() && myCreateQuadratic; exp.Next()) {
|
||||||
if ( SMESHDS_SubMesh * subMesh = meshDS->MeshElements( exp.Current() )) {
|
if ( SMESHDS_SubMesh * subMesh = meshDS->MeshElements( exp.Current() )) {
|
||||||
@ -115,6 +116,9 @@ bool SMESH_MesherHelper::IsQuadraticSubMesh(const TopoDS_Shape& aSh)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( nbOldLinks == myNLinkNodeMap.size() )
|
||||||
|
myCreateQuadratic = false;
|
||||||
|
|
||||||
if(!myCreateQuadratic) {
|
if(!myCreateQuadratic) {
|
||||||
myNLinkNodeMap.clear();
|
myNLinkNodeMap.clear();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user