0020615: EDF 1206 SMESH: Smesh group edition and object browser highlight

This commit is contained in:
dmv 2009-12-15 08:57:13 +00:00
parent 5052f7f43b
commit e0589e63e6

View File

@ -2236,14 +2236,20 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor()
} else { } else {
// try mesh actor // try mesh actor
SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh);
if (anActor && anActor->hasIO()) if (anActor && anActor->hasIO()) {
{ isActor = true;
isActor = true; if (aViewWindow && !aViewWindow->isVisible(anActor->getIO()))
if (aViewWindow && !aViewWindow->isVisible(anActor->getIO())) isActor = false;
isActor = false; else
else myActorsList.append(anActor);
myActorsList.append(anActor); }
}
// try group actor
if (!isActor && !myGroup->_is_nil()) {
SMESH_Actor* anActor = SMESH::FindActorByObject(myGroup);
if (anActor && anActor->hasIO())
myActorsList.append(anActor);
}
// try any visible actor of group or submesh of current mesh // try any visible actor of group or submesh of current mesh
if (aViewWindow) { if (aViewWindow) {
@ -2264,7 +2270,7 @@ bool SMESHGUI_GroupDlg::SetAppropriateActor()
if (anActor && anActor->hasIO()) { if (anActor && anActor->hasIO()) {
Handle(SALOME_InteractiveObject) anIO = anActor->getIO(); Handle(SALOME_InteractiveObject) anIO = anActor->getIO();
if (aViewWindow->isVisible(anIO)) { if (aViewWindow->isVisible(anIO)) {
if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0) if (anIO->hasEntry() && strncmp(anIO->getEntry(), meshEntry, len) == 0 && !myActorsList.contains(anActor) )
myActorsList.append(anActor); myActorsList.append(anActor);
} }
} }