Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0021692: EDF 2314 : Hexaedron failure
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_CompositeSegment_1D.cxx
diff --git
a/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx
b/src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx
index be76a8dd1ada7857949eebf5eff78d190e180ca4..2b584703861133bc1b9f99f76dc8efcda615adc7 100644
(file)
--- a/
src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx
+++ b/
src/StdMeshers/StdMeshers_CompositeSegment_1D.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
1
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
2
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-150,7
+150,9
@@
namespace {
struct VertexNodesRestoringListener : public SMESH_subMeshEventListener
{
struct VertexNodesRestoringListener : public SMESH_subMeshEventListener
{
- VertexNodesRestoringListener():SMESH_subMeshEventListener(0) // won't be deleted by submesh
+ VertexNodesRestoringListener():
+ SMESH_subMeshEventListener(0, // won't be deleted by submesh
+ "StdMeshers_CompositeSegment_1D::VertexNodesRestoringListener")
{}
/*!
* \brief Restore nodes on internal vertices of a complex side
{}
/*!
* \brief Restore nodes on internal vertices of a complex side
@@
-166,17
+168,23
@@
namespace {
EventListenerData* data,
const SMESH_Hypothesis* /*hyp*/)
{
EventListenerData* data,
const SMESH_Hypothesis* /*hyp*/)
{
- bool hypRemoved = ( eventType == SMESH_subMesh::ALGO_EVENT &&
- subMesh->GetAlgoState() != SMESH_subMesh::HYP_OK );
- if ( hypRemoved && data )
+ if ( data && eventType == SMESH_subMesh::ALGO_EVENT )
{
{
- list<SMESH_subMesh*>::iterator smIt = data->mySubMeshes.begin();
- for ( ; smIt != data->mySubMeshes.end(); ++smIt )
+ bool hypRemoved;
+ if ( subMesh->GetAlgoState() != SMESH_subMesh::HYP_OK )
+ hypRemoved = true;
+ else {
+ SMESH_Algo* algo = subMesh->GetAlgo();
+ hypRemoved = ( string( algo->GetName() ) != StdMeshers_CompositeSegment_1D::AlgoName());
+ }
+ if ( hypRemoved )
{
{
- if ( SMESH_subMesh* sm = *smIt ) {
- sm->SetIsAlwaysComputed( false );
- sm->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
- }
+ list<SMESH_subMesh*>::iterator smIt = data->mySubMeshes.begin();
+ for ( ; smIt != data->mySubMeshes.end(); ++smIt )
+ if ( SMESH_subMesh* sm = *smIt ) {
+ sm->SetIsAlwaysComputed( false );
+ sm->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
+ }
}
}
// at study restoration:
}
}
// at study restoration:
@@
-223,10
+231,19
@@
StdMeshers_CompositeSegment_1D::StdMeshers_CompositeSegment_1D(int hypId
:StdMeshers_Regular_1D(hypId, studyId, gen)
{
MESSAGE("StdMeshers_CompositeSegment_1D::StdMeshers_CompositeSegment_1D");
:StdMeshers_Regular_1D(hypId, studyId, gen)
{
MESSAGE("StdMeshers_CompositeSegment_1D::StdMeshers_CompositeSegment_1D");
- _name =
"CompositeSegment_1D"
;
+ _name =
AlgoName()
;
_EventListener = new VertexNodesRestoringListener();
}
_EventListener = new VertexNodesRestoringListener();
}
+//=======================================================================
+//function : AlgoName
+//purpose : Returns algo type name
+//=======================================================================
+
+std::string StdMeshers_CompositeSegment_1D::AlgoName()
+{
+ return "CompositeSegment_1D";
+}
//=============================================================================
/*!
*
//=============================================================================
/*!
*