From: Viktor Uzlov Date: Wed, 31 Mar 2021 09:29:04 +0000 (+0300) Subject: bos #24085 fix TSplitMethod method for Windows (to avoid crash) X-Git-Tag: V9_7_0a1~10 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3feb7ac7016d6cbdbe1b757ae3c299db8263bdfa;p=modules%2Fsmesh.git bos #24085 fix TSplitMethod method for Windows (to avoid crash) --- diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 8a872c724..de20777e9 100644 --- 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(const TSplitMethod &splitMethod) + : _nbSplits(splitMethod._nbSplits), + _nbCorners(splitMethod._nbCorners), + _baryNode(splitMethod._baryNode), + _ownConn(splitMethod._ownConn), + _faceBaryNode(splitMethod._faceBaryNode) + { + _connectivity = splitMethod._connectivity; + const_cast(splitMethod)._connectivity = nullptr; + const_cast(splitMethod)._ownConn = false; + } 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 )); - if ( splitMethod._nbSplits < 1 ) continue; + if ( splitMethod._nbSplits < 1 ) continue; // find submesh to add new tetras to if ( !subMesh || !subMesh->Contains( elem ))