IPAL13978: Problem of updating SubMeshes on Face and Compound in Object Browser after compute of mesh

Fix a bug that icons updated starting from the 4th child of mesh object

IPAL13023: To correct alignment for output of "Dump()" functionality.
This commit is contained in:
eap 2015-05-15 21:20:14 +03:00
parent 716be18032
commit 43ce5a9126
3 changed files with 14 additions and 8 deletions

View File

@ -300,7 +300,7 @@ namespace SMESH
_PTR(ChildIterator) anIter = aStudy->NewChildIterator(theSObject); _PTR(ChildIterator) anIter = aStudy->NewChildIterator(theSObject);
for (int i = 1; anIter->More(); anIter->Next(), i++) { for (int i = 1; anIter->More(); anIter->Next(), i++) {
_PTR(SObject) aSObj = anIter->Value(); _PTR(SObject) aSObj = anIter->Value();
if (i >= 4) { /*if (i >= 1)*/ {
_PTR(ChildIterator) anIter1 = aStudy->NewChildIterator(aSObj); _PTR(ChildIterator) anIter1 = aStudy->NewChildIterator(aSObj);
for ( ; anIter1->More(); anIter1->Next()) for ( ; anIter1->More(); anIter1->Next())
{ {
@ -311,6 +311,8 @@ namespace SMESH
std::string entry = aSObj1->GetID(); std::string entry = aSObj1->GetID();
int objType = SMESHGUI_Selection::type( entry.c_str(), aStudy ); int objType = SMESHGUI_Selection::type( entry.c_str(), aStudy );
if ( objType == SMESH::HYPOTHESIS || objType == SMESH::ALGORITHM )
continue;
SMESH::SMESH_IDSource_var idSrc = SObjectToInterface<SMESH::SMESH_IDSource>( aSObj1 ); SMESH::SMESH_IDSource_var idSrc = SObjectToInterface<SMESH::SMESH_IDSource>( aSObj1 );
if ( !idSrc->_is_nil() ) if ( !idSrc->_is_nil() )

View File

@ -1973,6 +1973,8 @@ void SMESH_Mesh_i::CheckGeomModif()
GEOM::GEOM_Object_var mainGO = _gen_i->ShapeToGeomObject( _impl->GetShapeToMesh() ); GEOM::GEOM_Object_var mainGO = _gen_i->ShapeToGeomObject( _impl->GetShapeToMesh() );
//if ( mainGO->_is_nil() ) return; //if ( mainGO->_is_nil() ) return;
// Update after group modification
if ( mainGO->_is_nil() || /* shape was removed from GEOM_Client by newGroupShape() if ( mainGO->_is_nil() || /* shape was removed from GEOM_Client by newGroupShape()
called by other mesh (IPAL52735) */ called by other mesh (IPAL52735) */
mainGO->GetType() == GEOM_GROUP || mainGO->GetType() == GEOM_GROUP ||
@ -1982,6 +1984,8 @@ void SMESH_Mesh_i::CheckGeomModif()
return; return;
} }
// Update after shape transformation like Translate
GEOM_Client* geomClient = _gen_i->GetShapeReader(); GEOM_Client* geomClient = _gen_i->GetShapeReader();
if ( !geomClient ) return; if ( !geomClient ) return;
GEOM::GEOM_Gen_var geomGen = _gen_i->GetGeomEngine(); GEOM::GEOM_Gen_var geomGen = _gen_i->GetGeomEngine();