mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-14 02:30:33 +05:00
22691: [CEA 1279] Regression on test attached with issue 22229
This commit is contained in:
parent
ac69e1629b
commit
214d7e4bdc
@ -2148,9 +2148,9 @@ TopoDS_Shape SMESH_subMesh::getCollection(SMESH_Gen * theGen,
|
||||
if ( mainShape.IsSame( _subShape ))
|
||||
return _subShape;
|
||||
|
||||
const bool ignoreAuxiliaryHyps = false;
|
||||
const bool skipAuxHyps = false;
|
||||
list<const SMESHDS_Hypothesis*> aUsedHyp =
|
||||
theAlgo->GetUsedHypothesis( *_father, _subShape, ignoreAuxiliaryHyps ); // copy
|
||||
theAlgo->GetUsedHypothesis( *_father, _subShape, skipAuxHyps ); // copy
|
||||
|
||||
// put in a compound all shapes with the same hypothesis assigned
|
||||
// and a good ComputeState
|
||||
@ -2161,11 +2161,13 @@ TopoDS_Shape SMESH_subMesh::getCollection(SMESH_Gen * theGen,
|
||||
|
||||
theSubs.clear();
|
||||
|
||||
TopExp_Explorer anExplorer( mainShape, _subShape.ShapeType() );
|
||||
for ( ; anExplorer.More(); anExplorer.Next() )
|
||||
SMESH_subMeshIteratorPtr smIt = _father->GetSubMesh( mainShape )->getDependsOnIterator(false);
|
||||
while ( smIt->more() )
|
||||
{
|
||||
const TopoDS_Shape& S = anExplorer.Current();
|
||||
SMESH_subMesh* subMesh = _father->GetSubMesh( S );
|
||||
SMESH_subMesh* subMesh = smIt->next();
|
||||
const TopoDS_Shape& S = subMesh->_subShape;
|
||||
if ( S.ShapeType() != this->_subShape.ShapeType() )
|
||||
continue;
|
||||
theSubs.push_back( subMesh );
|
||||
if ( subMesh == this )
|
||||
{
|
||||
@ -2173,12 +2175,14 @@ TopoDS_Shape SMESH_subMesh::getCollection(SMESH_Gen * theGen,
|
||||
}
|
||||
else if ( subMesh->GetComputeState() == READY_TO_COMPUTE )
|
||||
{
|
||||
SMESH_Algo* anAlgo = theGen->GetAlgo( subMesh );
|
||||
if (strcmp( anAlgo->GetName(), theAlgo->GetName()) == 0 && // same algo
|
||||
anAlgo->GetUsedHypothesis( *_father, S, ignoreAuxiliaryHyps ) == aUsedHyp) // same hyps
|
||||
SMESH_Algo* anAlgo = subMesh->GetAlgo();
|
||||
if (( anAlgo->IsSameName( *theAlgo )) && // same algo
|
||||
( anAlgo->GetUsedHypothesis( *_father, S, skipAuxHyps ) == aUsedHyp )) // same hyps
|
||||
{
|
||||
aBuilder.Add( aCompound, S );
|
||||
if ( !subMesh->SubMeshesComputed() )
|
||||
theSubComputed = false;
|
||||
if ( !subMesh->SubMeshesComputed() )
|
||||
theSubComputed = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ import SMESH
|
||||
# @code
|
||||
# meshMethod = "MyAlgorithm"
|
||||
# @endcode
|
||||
# then an instance of @c MyPlugin_Algorithm can be created by the direct invokation of the function
|
||||
# then an instance of @c MyPlugin_Algorithm can be created by the direct invocation of the function
|
||||
# of smesh.Mesh class:
|
||||
# @code
|
||||
# my_algo = mesh.MyAlgorithm()
|
||||
@ -257,7 +257,7 @@ class Mesh_Algorithm:
|
||||
|
||||
## Defines "ViscousLayers" hypothesis to give parameters of layers of prisms to build
|
||||
# near mesh boundary. This hypothesis can be used by several 3D algorithms:
|
||||
# NETGEN 3D, GHS3D, Hexahedron(i,j,k)
|
||||
# NETGEN 3D, MG-Tetra, Hexahedron(i,j,k)
|
||||
# @param thickness total thickness of layers of prisms
|
||||
# @param numberOfLayers number of layers of prisms
|
||||
# @param stretchFactor factor (>1.0) of growth of layer thickness towards inside of mesh
|
||||
@ -287,7 +287,7 @@ class Mesh_Algorithm:
|
||||
|
||||
## Defines "ViscousLayers2D" hypothesis to give parameters of layers of quadrilateral
|
||||
# elements to build near mesh boundary. This hypothesis can be used by several 2D algorithms:
|
||||
# NETGEN 2D, NETGEN 1D-2D, Quadrangle (mapping), MEFISTO, BLSURF
|
||||
# NETGEN 2D, NETGEN 1D-2D, Quadrangle (mapping), MEFISTO, MG-CADSurf
|
||||
# @param thickness total thickness of layers of quadrilaterals
|
||||
# @param numberOfLayers number of layers
|
||||
# @param stretchFactor factor (>1.0) of growth of layer thickness towards inside of mesh
|
||||
|
Loading…
Reference in New Issue
Block a user