Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BoostTxtArchive minor changes
[modules/smesh.git]
/
src
/
SMDS
/
SMDS_ElementHolder.cxx
diff --git
a/src/SMDS/SMDS_ElementHolder.cxx
b/src/SMDS/SMDS_ElementHolder.cxx
index 091359044d87e49642cf0594fbf2db958f7244fd..36edba31a0882cfba0850a04660f32649ab1df81 100644
(file)
--- a/
src/SMDS/SMDS_ElementHolder.cxx
+++ b/
src/SMDS/SMDS_ElementHolder.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
16
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
21
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-37,7
+37,8
@@
SMDS_ElementHolder::SMDS_ElementHolder( const SMDS_Mesh* mesh )
: myMesh( const_cast< SMDS_Mesh* >( mesh ))
{
SMDS_ElementHolder::SMDS_ElementHolder( const SMDS_Mesh* mesh )
: myMesh( const_cast< SMDS_Mesh* >( mesh ))
{
- myPtrInMesh = myMesh->myElemHolders.insert( this ).first;
+ if ( myMesh )
+ myPtrInMesh = myMesh->myElemHolders.insert( this ).first;
}
//=======================================================================
}
//=======================================================================
@@
-47,7
+48,8
@@
SMDS_ElementHolder::SMDS_ElementHolder( const SMDS_Mesh* mesh )
SMDS_ElementHolder::~SMDS_ElementHolder()
{
SMDS_ElementHolder::~SMDS_ElementHolder()
{
- myMesh->myElemHolders.erase( myPtrInMesh );
+ if ( myMesh )
+ myMesh->myElemHolders.erase( myPtrInMesh );
}
//=======================================================================
}
//=======================================================================
@@
-57,8
+59,7
@@
SMDS_ElementHolder::~SMDS_ElementHolder()
void SMDS_ElementHolder::beforeCompacting()
{
void SMDS_ElementHolder::beforeCompacting()
{
- int i = 0;
- for ( SMDS_ElemIteratorPtr it = getElements(); it->more(); ++i )
+ for ( SMDS_ElemIteratorPtr it = getElements(); it->more(); )
{
const SMDS_MeshElement* e = it->next();
if ( !e ) continue;
{
const SMDS_MeshElement* e = it->next();
if ( !e ) continue;
@@
-72,7
+73,7
@@
void SMDS_ElementHolder::beforeCompacting()
else
{
myExternalElems.push_back( e );
else
{
myExternalElems.push_back( e );
- myVtkIDs.push_back( -1 * (
int)
myExternalElems.size() );
+ myVtkIDs.push_back( -1 * (
vtkIdType)
myExternalElems.size() );
}
}
}
}
}
}
@@
-82,8
+83,8
@@
void SMDS_ElementHolder::beforeCompacting()
//purpose : restore pointers to elements
//=======================================================================
//purpose : restore pointers to elements
//=======================================================================
-void SMDS_ElementHolder::restoreElements( const std::vector<
int
>& idNodesOldToNew,
- const std::vector<
int
>& idCellsOldToNew )
+void SMDS_ElementHolder::restoreElements( const std::vector<
smIdType
>& idNodesOldToNew,
+ const std::vector<
smIdType
>& idCellsOldToNew )
{
tmpClear();
{
tmpClear();
@@
-92,21
+93,21
@@
void SMDS_ElementHolder::restoreElements( const std::vector<int>& idNodesOldToNe
std::vector< bool >::iterator isNode = myIsNode.begin();
for ( size_t i = 0; i < myVtkIDs.size(); ++i, ++isNode )
{
std::vector< bool >::iterator isNode = myIsNode.begin();
for ( size_t i = 0; i < myVtkIDs.size(); ++i, ++isNode )
{
-
int
vtkID = myVtkIDs[i];
+
vtkIdType
vtkID = myVtkIDs[i];
if ( vtkID < 0 )
{
elem = myExternalElems[ (-vtkID)-1 ];
}
else if ( *isNode )
{
if ( vtkID < 0 )
{
elem = myExternalElems[ (-vtkID)-1 ];
}
else if ( *isNode )
{
- if ( vtkID < (
int
)idNodesOldToNew.size() )
+ if ( vtkID < (
vtkIdType
)idNodesOldToNew.size() )
elem = myMesh->FindNodeVtk( idNodesOldToNew[ vtkID ]);
else
elem = myMesh->FindNodeVtk( vtkID );
}
else
{
elem = myMesh->FindNodeVtk( idNodesOldToNew[ vtkID ]);
else
elem = myMesh->FindNodeVtk( vtkID );
}
else
{
- if ( vtkID < (
int
)idCellsOldToNew.size() )
+ if ( vtkID < (
vtkIdType
)idCellsOldToNew.size() )
elem = myMesh->FindElementVtk( idCellsOldToNew[ vtkID ]);
else
elem = myMesh->FindElementVtk( vtkID );
elem = myMesh->FindElementVtk( idCellsOldToNew[ vtkID ]);
else
elem = myMesh->FindElementVtk( vtkID );