mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00: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 );
|
||||
}
|
||||
if ( newIndices.size() < oldIndices->length() ) // issue #17096
|
||||
{
|
||||
newIndices.clear();
|
||||
newShape = getInPlace( oldShape );
|
||||
}
|
||||
if ( !newIndices.empty() )
|
||||
{
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user