Salome HOME
projects
/
modules
/
smesh.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7e2390f
)
bos #24085 fix TSplitMethod method for Windows (to avoid crash)
author
Viktor Uzlov
<viktor.uzlov@opencascade.com>
Wed, 31 Mar 2021 09:29:04 +0000
(12:29 +0300)
committer
vsr
<vsr@opencascade.com>
Wed, 31 Mar 2021 16:04:06 +0000
(19:04 +0300)
src/SMESH/SMESH_MeshEditor.cxx
patch
|
blob
|
history
diff --git
a/src/SMESH/SMESH_MeshEditor.cxx
b/src/SMESH/SMESH_MeshEditor.cxx
index 8a872c724a31cc12e95979eecd8275a20282378d..de20777e972c479c26201348ae408d7df60f3720 100644
(file)
--- a/
src/SMESH/SMESH_MeshEditor.cxx
+++ b/
src/SMESH/SMESH_MeshEditor.cxx
@@
-1808,6
+1808,17
@@
namespace
TSplitMethod( int nbTet=0, const int* conn=0, bool addNode=false)
: _nbSplits(nbTet), _nbCorners(4), _connectivity(conn), _baryNode(addNode), _ownConn(false) {}
~TSplitMethod() { if ( _ownConn ) delete [] _connectivity; _connectivity = 0; }
TSplitMethod( int nbTet=0, const int* conn=0, bool addNode=false)
: _nbSplits(nbTet), _nbCorners(4), _connectivity(conn), _baryNode(addNode), _ownConn(false) {}
~TSplitMethod() { if ( _ownConn ) delete [] _connectivity; _connectivity = 0; }
+ TSplitMethod(const TSplitMethod &splitMethod)
+ : _nbSplits(splitMethod._nbSplits),
+ _nbCorners(splitMethod._nbCorners),
+ _baryNode(splitMethod._baryNode),
+ _ownConn(splitMethod._ownConn),
+ _faceBaryNode(splitMethod._faceBaryNode)
+ {
+ _connectivity = splitMethod._connectivity;
+ const_cast<TSplitMethod&>(splitMethod)._connectivity = nullptr;
+ const_cast<TSplitMethod&>(splitMethod)._ownConn = false;
+ }
bool hasFacet( const TTriangleFacet& facet ) const
{
if ( _nbCorners == 4 )
bool hasFacet( const TTriangleFacet& facet ) const
{
if ( _nbCorners == 4 )
@@
-2265,7
+2276,7
@@
void SMESH_MeshEditor::SplitVolumes (const TFacetOfElem & theElems,
TSplitMethod splitMethod = ( facetToSplit < 0 ?
getTetraSplitMethod( volTool, theMethodFlags ) :
getPrismSplitMethod( volTool, theMethodFlags, facetToSplit ));
TSplitMethod splitMethod = ( facetToSplit < 0 ?
getTetraSplitMethod( volTool, theMethodFlags ) :
getPrismSplitMethod( volTool, theMethodFlags, facetToSplit ));
- if ( splitMethod._nbSplits < 1 ) continue;
+
if ( splitMethod._nbSplits < 1 ) continue;
// find submesh to add new tetras to
if ( !subMesh || !subMesh->Contains( elem ))
// find submesh to add new tetras to
if ( !subMesh || !subMesh->Contains( elem ))