mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-27 22:30:32 +05:00
Mantis issue 0021421: [CEA] regression with explode/Create groups with Vertex type.
This commit is contained in:
parent
c9cbee8d01
commit
44d013ca29
@ -544,7 +544,7 @@ int EntityGUI_SubShapeDlg::shapeType() const
|
|||||||
// Solving PAL5590
|
// Solving PAL5590
|
||||||
type += myShape.ShapeType() + 1;
|
type += myShape.ShapeType() + 1;
|
||||||
if (myShape.ShapeType() == TopAbs_COMPOUND &&
|
if (myShape.ShapeType() == TopAbs_COMPOUND &&
|
||||||
NumberOfSubShapes(myShape, TopAbs_COMPOUND) > 0) {
|
NumberOfSubShapes(myShape, TopAbs_COMPOUND) > 0) {
|
||||||
type--;
|
type--;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,11 +573,25 @@ void EntityGUI_SubShapeDlg::showOnlySelected()
|
|||||||
GEOM_Displayer* aDisplayer = getDisplayer();
|
GEOM_Displayer* aDisplayer = getDisplayer();
|
||||||
|
|
||||||
if (send == GroupPoints->PushButton3) {
|
if (send == GroupPoints->PushButton3) {
|
||||||
aDisplayer->Erase(aSelList, false, true);
|
aDisplayer->Erase(aSelList, /*forced=*/false, /*updateViewer=*/true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
aDisplayer->EraseAll();
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
|
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
||||||
|
if (view) {
|
||||||
|
CORBA::String_var aMainEntry = myObject->GetStudyEntry();
|
||||||
|
Handle(SALOME_InteractiveObject) io =
|
||||||
|
new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
||||||
|
if (view->isVisible(io)) myIsHiddenMain = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
aDisplayer->EraseAll(/*forced = false, updateViewer = true*/);
|
||||||
aDisplayer->Display(aSelList, true);
|
aDisplayer->Display(aSelList, true);
|
||||||
|
|
||||||
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
|
if ((TopAbs_ShapeEnum)shapeType() == TopAbs_VERTEX && myIsHiddenMain) {
|
||||||
|
aDisplayer->Display(myObject);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -658,13 +672,22 @@ void EntityGUI_SubShapeDlg::activateSelection()
|
|||||||
if (!myObject->_is_nil() && !isAllSubShapes())
|
if (!myObject->_is_nil() && !isAllSubShapes())
|
||||||
{
|
{
|
||||||
GEOM_Displayer* aDisplayer = getDisplayer();
|
GEOM_Displayer* aDisplayer = getDisplayer();
|
||||||
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
|
||||||
if (view) {
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
CORBA::String_var aMainEntry = myObject->GetStudyEntry();
|
if ((TopAbs_ShapeEnum)shapeType() == TopAbs_VERTEX) {
|
||||||
Handle(SALOME_InteractiveObject) io = new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
if (myIsHiddenMain)
|
||||||
if (view->isVisible(io)) {
|
aDisplayer->Display(myObject);
|
||||||
aDisplayer->Erase(myObject, false, false);
|
}
|
||||||
myIsHiddenMain = true;
|
else {
|
||||||
|
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
||||||
|
if (view) {
|
||||||
|
CORBA::String_var aMainEntry = myObject->GetStudyEntry();
|
||||||
|
Handle(SALOME_InteractiveObject) io =
|
||||||
|
new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
||||||
|
if (view->isVisible(io)) {
|
||||||
|
aDisplayer->Erase(myObject, false, false);
|
||||||
|
myIsHiddenMain = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -620,9 +620,23 @@ void GroupGUI_GroupDlg::showOnlySelected()
|
|||||||
aDisplayer->Erase(aSelList, /*forced=*/false, /*updateViewer=*/true);
|
aDisplayer->Erase(aSelList, /*forced=*/false, /*updateViewer=*/true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
|
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
||||||
|
if (view) {
|
||||||
|
CORBA::String_var aMainEntry = myMainObj->GetStudyEntry();
|
||||||
|
Handle(SALOME_InteractiveObject) io =
|
||||||
|
new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
||||||
|
if (view->isVisible(io)) myIsHiddenMain = true;
|
||||||
|
}
|
||||||
|
|
||||||
aDisplayer->EraseAll(/*forced = false, updateViewer = true*/);
|
aDisplayer->EraseAll(/*forced = false, updateViewer = true*/);
|
||||||
aDisplayer->Display(aSelList, true);
|
aDisplayer->Display(aSelList, true);
|
||||||
|
|
||||||
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
|
if (getShapeType() == TopAbs_VERTEX && myIsHiddenMain) {
|
||||||
|
aDisplayer->Display(myMainObj);
|
||||||
|
}
|
||||||
|
|
||||||
// for the case when selected ids were not displayed in the viewer: Mantis issue 0021367
|
// for the case when selected ids were not displayed in the viewer: Mantis issue 0021367
|
||||||
highlightSubShapes();
|
highlightSubShapes();
|
||||||
}
|
}
|
||||||
@ -807,13 +821,22 @@ void GroupGUI_GroupDlg::activateSelection()
|
|||||||
myIsShapeType) // check if shape type is already choosen by user
|
myIsShapeType) // check if shape type is already choosen by user
|
||||||
{
|
{
|
||||||
GEOM_Displayer* aDisplayer = getDisplayer();
|
GEOM_Displayer* aDisplayer = getDisplayer();
|
||||||
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
|
||||||
if (view) {
|
// Mantis issue 0021421: do not hide main shape, if explode on VERTEX
|
||||||
CORBA::String_var aMainEntry = myMainObj->GetStudyEntry();
|
if (getShapeType() == TopAbs_VERTEX) {
|
||||||
Handle(SALOME_InteractiveObject) io = new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
if (myIsHiddenMain)
|
||||||
if (view->isVisible(io)) {
|
aDisplayer->Display(myMainObj);
|
||||||
aDisplayer->Erase(myMainObj, false, false);
|
}
|
||||||
myIsHiddenMain = true;
|
else {
|
||||||
|
SALOME_View* view = GEOM_Displayer::GetActiveView();
|
||||||
|
if (view) {
|
||||||
|
CORBA::String_var aMainEntry = myMainObj->GetStudyEntry();
|
||||||
|
Handle(SALOME_InteractiveObject) io =
|
||||||
|
new SALOME_InteractiveObject (aMainEntry.in(), "GEOM", "TEMP_IO");
|
||||||
|
if (view->isVisible(io)) {
|
||||||
|
aDisplayer->Erase(myMainObj, false, false);
|
||||||
|
myIsHiddenMain = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user