mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 09:20:34 +05:00
#17096 [CEA 16891] SMesh::CopyMeshWithGeom : discrepeancies in copied groups volumes.
This commit is contained in:
parent
1732ea91c4
commit
bb1e4b11d8
@ -3109,6 +3109,11 @@ namespace // utils for CopyMeshWithGeom()
|
|||||||
{
|
{
|
||||||
findNewIDs( oldIndices[i], newIndices );
|
findNewIDs( oldIndices[i], newIndices );
|
||||||
}
|
}
|
||||||
|
if ( newIndices.size() < oldIndices->length() ) // issue #17096
|
||||||
|
{
|
||||||
|
newIndices.clear();
|
||||||
|
newShape = getInPlace( oldShape );
|
||||||
|
}
|
||||||
if ( !newIndices.empty() )
|
if ( !newIndices.empty() )
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -3292,6 +3297,27 @@ namespace // utils for CopyMeshWithGeom()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Get new sub-shape by calling GetInPlace()
|
||||||
|
*/
|
||||||
|
GEOM::GEOM_Object_ptr getInPlace( GEOM::GEOM_Object_ptr oldShape )
|
||||||
|
{
|
||||||
|
GEOM::GEOM_Object_var newShape;
|
||||||
|
|
||||||
|
GEOM::GEOM_Object_var mainShapeNew = myNewMesh_i->GetShapeToMesh();
|
||||||
|
GEOM::GEOM_Gen_var geomGen = myGen_i->GetGeomEngine();
|
||||||
|
GEOM::GEOM_IShapesOperations_wrap op = geomGen->GetIShapesOperations();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
newShape = op->GetInPlace( mainShapeNew, oldShape );
|
||||||
|
}
|
||||||
|
catch( ... )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
return newShape._retn();
|
||||||
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief Find a new sub-shape indices by an old one in myGIPMap. Return
|
* \brief Find a new sub-shape indices by an old one in myGIPMap. Return
|
||||||
|
Loading…
Reference in New Issue
Block a user