mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-28 15:40:32 +05:00
23382: [CEA 1981] Wrong mesh SMESH test
This commit is contained in:
parent
75d0234b45
commit
d2a8dd635e
@ -371,9 +371,6 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
|
|||||||
|
|
||||||
MEMOSTAT;
|
MEMOSTAT;
|
||||||
|
|
||||||
if ( aCompactMesh )
|
|
||||||
aMesh.GetMeshDS()->compactMesh();
|
|
||||||
|
|
||||||
// fix quadratic mesh by bending iternal links near concave boundary
|
// fix quadratic mesh by bending iternal links near concave boundary
|
||||||
if ( aCompactMesh && // a final compute
|
if ( aCompactMesh && // a final compute
|
||||||
aShape.IsSame( aMesh.GetShapeToMesh() ) &&
|
aShape.IsSame( aMesh.GetShapeToMesh() ) &&
|
||||||
@ -386,6 +383,10 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
|
|||||||
aHelper.FixQuadraticElements( sm->GetComputeError() );
|
aHelper.FixQuadraticElements( sm->GetComputeError() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( aCompactMesh )
|
||||||
|
aMesh.GetMeshDS()->compactMesh();
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ typedef struct studyContextStruct
|
|||||||
|
|
||||||
typedef std::set<int> TSetOfInt;
|
typedef std::set<int> TSetOfInt;
|
||||||
|
|
||||||
class SMESH_EXPORT SMESH_Gen
|
class SMESH_EXPORT SMESH_Gen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SMESH_Gen();
|
SMESH_Gen();
|
||||||
|
@ -1924,7 +1924,10 @@ CORBA::Boolean SMESH_Gen_i::Compute( SMESH::SMESH_Mesh_ptr theMesh,
|
|||||||
// call implementation compute
|
// call implementation compute
|
||||||
::SMESH_Mesh& myLocMesh = meshServant->GetImpl();
|
::SMESH_Mesh& myLocMesh = meshServant->GetImpl();
|
||||||
myGen.PrepareCompute( myLocMesh, myLocShape );
|
myGen.PrepareCompute( myLocMesh, myLocShape );
|
||||||
bool ok = myGen.Compute( myLocMesh, myLocShape, myLocShape != myLocMesh.GetShapeToMesh());
|
int how = ::SMESH_Gen::COMPACT_MESH;
|
||||||
|
if ( myLocShape != myLocMesh.GetShapeToMesh() ) // compute a sub-mesh
|
||||||
|
how |= ::SMESH_Gen::SHAPE_ONLY;
|
||||||
|
bool ok = myGen.Compute( myLocMesh, myLocShape, how );
|
||||||
meshServant->CreateGroupServants(); // algos can create groups (issue 0020918)
|
meshServant->CreateGroupServants(); // algos can create groups (issue 0020918)
|
||||||
myLocMesh.GetMeshDS()->Modified();
|
myLocMesh.GetMeshDS()->Modified();
|
||||||
return ok;
|
return ok;
|
||||||
|
Loading…
Reference in New Issue
Block a user