Fix regressions of tests

mostly connected to 23418: [CEA] Mesh: Minimization of memory usage of SMESH
This commit is contained in:
eap 2018-04-12 14:36:22 +03:00
parent 7f47e06b6c
commit 5e2c97c386
3 changed files with 16 additions and 8 deletions

View File

@ -352,7 +352,8 @@ typedef _Range< bool > _UsedRange; // range of used elements
typedef _RangeSet< _ShapeIDRange > TSubIDRangeSet; typedef _RangeSet< _ShapeIDRange > TSubIDRangeSet;
typedef _RangeSet< _UsedRange > TUsedRangeSet; typedef _RangeSet< _UsedRange > TUsedRangeSet;
typedef boost::dynamic_bitset<> TBitSet; typedef boost::dynamic_bitset<> TBitSet;
typedef float TParam; //typedef float TParam;
typedef double TParam;
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
/*! /*!

View File

@ -422,12 +422,15 @@ namespace
void SMDS_MeshCell::InitStaticMembers() void SMDS_MeshCell::InitStaticMembers()
{ {
initCellProps(); if ( theCellProps.empty() )
initVtkTypes(); {
initToVtkInterlaces(); initCellProps();
initReverseInterlaces(); initVtkTypes();
initQuadInterlace(); initToVtkInterlaces();
initFromVtkInterlaces(); initReverseInterlaces();
initQuadInterlace();
initFromVtkInterlaces();
}
} }
void SMDS_MeshCell::init( SMDSAbs_EntityType theEntity, int theNbNodes, ... ) void SMDS_MeshCell::init( SMDSAbs_EntityType theEntity, int theNbNodes, ... )

View File

@ -7168,8 +7168,11 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes,
const SMDS_MeshNode* nToKeep = nnIt->second; const SMDS_MeshNode* nToKeep = nnIt->second;
TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( nToKeep ); TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( nToKeep );
while ( nnIt_i != nodeNodeMap.end() && nnIt_i->second != nnIt->second ) while ( nnIt_i != nodeNodeMap.end() && nnIt_i->second != nnIt->second )
{
nToKeep = nnIt_i->second; nToKeep = nnIt_i->second;
nnIt->second = nToKeep; nnIt->second = nToKeep;
nnIt_i = nodeNodeMap.find( nToKeep );
}
} }
if ( theAvoidMakingHoles ) if ( theAvoidMakingHoles )
@ -8526,6 +8529,7 @@ SMESH_MeshEditor::SewFreeBorder (const SMDS_MeshNode* theBordFirstNode,
for ( ; groupIt != nodeGroupsToMerge.end(); groupIt++ ) for ( ; groupIt != nodeGroupsToMerge.end(); groupIt++ )
{ {
const list<const SMDS_MeshNode*>& nodes = *groupIt; const list<const SMDS_MeshNode*>& nodes = *groupIt;
if ( nodes.front()->IsNull() ) continue;
SMDS_ElemIteratorPtr segIt = nodes.front()->GetInverseElementIterator( SMDSAbs_Edge ); SMDS_ElemIteratorPtr segIt = nodes.front()->GetInverseElementIterator( SMDSAbs_Edge );
while ( segIt->more() ) while ( segIt->more() )
segments.insert( segIt->next() ); segments.insert( segIt->next() );