mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 01:10:35 +05:00
#17085 [CEA 17030] Warning sub-mesh with Extrusion 3D
This commit is contained in:
parent
b718a7cc45
commit
1732ea91c4
@ -6083,19 +6083,23 @@ class SMESH_DimHyp
|
|||||||
if ( (_ownDim == _dim || theOther->_ownDim == _dim ) && (!meIsCompound || !otherIsCompound))
|
if ( (_ownDim == _dim || theOther->_ownDim == _dim ) && (!meIsCompound || !otherIsCompound))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// bool checkSubShape = ( _dim >= theOther->_dim )
|
|
||||||
// ? isShareSubShapes( _shapeMap, theOther->_shapeMap, shapeTypeByDim(theOther->_dim) )
|
|
||||||
// : isShareSubShapes( theOther->_shapeMap, _shapeMap, shapeTypeByDim(_dim) ) ;
|
|
||||||
bool checkSubShape = isShareSubShapes( _shapeMap, theOther->_shapeMap, shapeTypeByDim(_dim));
|
bool checkSubShape = isShareSubShapes( _shapeMap, theOther->_shapeMap, shapeTypeByDim(_dim));
|
||||||
if ( !checkSubShape )
|
if ( !checkSubShape )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// check algorithms to be same
|
// check algorithms to be same
|
||||||
if ( !checkAlgo( this->GetAlgo(), theOther->GetAlgo() ))
|
const SMESH_Algo* a1 = this->GetAlgo();
|
||||||
return true; // different algorithms -> concurrency !
|
const SMESH_Algo* a2 = theOther->GetAlgo();
|
||||||
|
bool isSame = checkAlgo( a1, a2 );
|
||||||
|
if ( !isSame )
|
||||||
|
{
|
||||||
|
if ( !a1 || !a2 )
|
||||||
|
return false; // pb?
|
||||||
|
return a1->GetDim() == a2->GetDim(); // different algorithms of same dim -> concurrency !
|
||||||
|
}
|
||||||
|
|
||||||
// check hypothesises for concurrence (skip first as algorithm)
|
// check hypothesises for concurrence (skip first as algorithm)
|
||||||
int nbSame = 0;
|
size_t nbSame = 0;
|
||||||
// pointers should be same, because it is referened from mesh hypothesis partition
|
// pointers should be same, because it is referened from mesh hypothesis partition
|
||||||
list <const SMESHDS_Hypothesis*>::const_iterator hypIt = _hypotheses.begin();
|
list <const SMESHDS_Hypothesis*>::const_iterator hypIt = _hypotheses.begin();
|
||||||
list <const SMESHDS_Hypothesis*>::const_iterator otheEndIt = theOther->_hypotheses.end();
|
list <const SMESHDS_Hypothesis*>::const_iterator otheEndIt = theOther->_hypotheses.end();
|
||||||
@ -6103,7 +6107,7 @@ class SMESH_DimHyp
|
|||||||
if ( find( theOther->_hypotheses.begin(), otheEndIt, *hypIt ) != otheEndIt )
|
if ( find( theOther->_hypotheses.begin(), otheEndIt, *hypIt ) != otheEndIt )
|
||||||
nbSame++;
|
nbSame++;
|
||||||
// the submeshes are concurrent if their algorithms has different parameters
|
// the submeshes are concurrent if their algorithms has different parameters
|
||||||
return nbSame != (int)theOther->_hypotheses.size() - 1;
|
return nbSame != theOther->_hypotheses.size() - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return true if algorithm of this SMESH_DimHyp is used if no
|
// Return true if algorithm of this SMESH_DimHyp is used if no
|
||||||
|
Loading…
Reference in New Issue
Block a user