summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
7f47e06)
mostly connected to 23418: [CEA] Mesh: Minimization of memory usage of SMESH
typedef _RangeSet< _ShapeIDRange > TSubIDRangeSet;
typedef _RangeSet< _UsedRange > TUsedRangeSet;
typedef boost::dynamic_bitset<> TBitSet;
typedef _RangeSet< _ShapeIDRange > TSubIDRangeSet;
typedef _RangeSet< _UsedRange > TUsedRangeSet;
typedef boost::dynamic_bitset<> TBitSet;
+//typedef float TParam;
+typedef double TParam;
//------------------------------------------------------------------------------------
/*!
//------------------------------------------------------------------------------------
/*!
void SMDS_MeshCell::InitStaticMembers()
{
void SMDS_MeshCell::InitStaticMembers()
{
- initCellProps();
- initVtkTypes();
- initToVtkInterlaces();
- initReverseInterlaces();
- initQuadInterlace();
- initFromVtkInterlaces();
+ if ( theCellProps.empty() )
+ {
+ initCellProps();
+ initVtkTypes();
+ initToVtkInterlaces();
+ initReverseInterlaces();
+ initQuadInterlace();
+ initFromVtkInterlaces();
+ }
}
void SMDS_MeshCell::init( SMDSAbs_EntityType theEntity, int theNbNodes, ... )
}
void SMDS_MeshCell::init( SMDSAbs_EntityType theEntity, int theNbNodes, ... )
const SMDS_MeshNode* nToKeep = nnIt->second;
TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( nToKeep );
while ( nnIt_i != nodeNodeMap.end() && nnIt_i->second != nnIt->second )
const SMDS_MeshNode* nToKeep = nnIt->second;
TNodeNodeMap::iterator nnIt_i = nodeNodeMap.find( nToKeep );
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 )
for ( ; groupIt != nodeGroupsToMerge.end(); groupIt++ )
{
const list<const SMDS_MeshNode*>& nodes = *groupIt;
for ( ; groupIt != nodeGroupsToMerge.end(); groupIt++ )
{
const list<const SMDS_MeshNode*>& nodes = *groupIt;
+ if ( nodes.front()->IsNull() ) continue;
SMDS_ElemIteratorPtr segIt = nodes.front()->GetInverseElementIterator( SMDSAbs_Edge );
while ( segIt->more() )
segments.insert( segIt->next() );
SMDS_ElemIteratorPtr segIt = nodes.front()->GetInverseElementIterator( SMDSAbs_Edge );
while ( segIt->more() )
segments.insert( segIt->next() );