IPAL52860: Free Edges control mis-location and mis-visibility

This commit is contained in:
eap 2015-10-08 17:32:17 +03:00
parent c4cacfb5c1
commit b5f5fdd866

View File

@ -2584,8 +2584,8 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{ {
SMESH::EDisplaing anAction; SMESH::EDisplaing anAction;
switch (theCommandID) { switch (theCommandID) {
case SMESHOp::OpHide: anAction = SMESH::eErase; break; case SMESHOp::OpHide: anAction = SMESH::eErase; break;
case SMESHOp::OpShow: anAction = SMESH::eDisplay; break; case SMESHOp::OpShow: anAction = SMESH::eDisplay; break;
case SMESHOp::OpShowOnly: anAction = SMESH::eDisplayOnly; break; case SMESHOp::OpShowOnly: anAction = SMESH::eDisplayOnly; break;
} }
@ -2594,7 +2594,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if (aSel) if (aSel)
aSel->selectedObjects( sel_objects ); aSel->selectedObjects( sel_objects );
if( theCommandID==SMESHOp::OpShowOnly ) if ( theCommandID==SMESHOp::OpShowOnly )
{ {
MESSAGE("anAction = SMESH::eDisplayOnly"); MESSAGE("anAction = SMESH::eDisplayOnly");
startOperation( myEraseAll ); startOperation( myEraseAll );
@ -2608,20 +2608,17 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
#endif #endif
if (vtkwnd) { if (vtkwnd) {
SALOME_ListIteratorOfListIO It( to_process ); SALOME_ListIteratorOfListIO It( to_process );
for ( ; It.More(); It.Next()) { for ( ; It.More(); It.Next())
MESSAGE("---"); {
Handle(SALOME_InteractiveObject) IOS = It.Value(); Handle(SALOME_InteractiveObject) IOS = It.Value();
if (IOS->hasEntry()) { if ( IOS->hasEntry() )
MESSAGE("---"); {
if (!SMESH::UpdateView(anAction, IOS->getEntry())) { if ( !SMESH::UpdateView( anAction, IOS->getEntry() )) {
SMESHGUI::GetSMESHGUI()->EmitSignalVisibilityChanged(); SMESHGUI::GetSMESHGUI()->EmitSignalVisibilityChanged();
break; // PAL16774 (Crash after display of many groups) break; // PAL16774 (Crash after display of many groups)
} }
if (anAction == SMESH::eDisplayOnly) if (anAction == SMESH::eDisplayOnly)
{
MESSAGE("anAction = SMESH::eDisplayOnly");
anAction = SMESH::eDisplay; anAction = SMESH::eDisplay;
}
} }
} }
} }
@ -4057,11 +4054,11 @@ void SMESHGUI::initialize( CAM_Application* app )
createMenu( SMESHOp::OpFreeNode, nodeId, -1 ); createMenu( SMESHOp::OpFreeNode, nodeId, -1 );
createMenu( SMESHOp::OpEqualNode, nodeId, -1 ); createMenu( SMESHOp::OpEqualNode, nodeId, -1 );
createMenu( SMESHOp::OpFreeEdge, edgeId, -1 );
createMenu( SMESHOp::OpFreeBorder, edgeId, -1 ); createMenu( SMESHOp::OpFreeBorder, edgeId, -1 );
createMenu( SMESHOp::OpLength, edgeId, -1 ); createMenu( SMESHOp::OpLength, edgeId, -1 );
createMenu( SMESHOp::OpConnection, edgeId, -1 ); createMenu( SMESHOp::OpConnection, edgeId, -1 );
createMenu( SMESHOp::OpEqualEdge, edgeId, -1 ); createMenu( SMESHOp::OpEqualEdge, edgeId, -1 );
createMenu( SMESHOp::OpFreeEdge, faceId, -1 );
createMenu( SMESHOp::OpFreeFace, faceId, -1 ); createMenu( SMESHOp::OpFreeFace, faceId, -1 );
createMenu( SMESHOp::OpBareBorderFace, faceId, -1 ); createMenu( SMESHOp::OpBareBorderFace, faceId, -1 );
createMenu( SMESHOp::OpOverConstrainedFace, faceId, -1 ); createMenu( SMESHOp::OpOverConstrainedFace, faceId, -1 );
@ -4203,12 +4200,12 @@ void SMESHGUI::initialize( CAM_Application* app )
createTool( SMESHOp::OpFreeNode, ctrl0dTb ); createTool( SMESHOp::OpFreeNode, ctrl0dTb );
createTool( SMESHOp::OpEqualNode, ctrl0dTb ); createTool( SMESHOp::OpEqualNode, ctrl0dTb );
createTool( SMESHOp::OpFreeEdge, ctrl1dTb );
createTool( SMESHOp::OpFreeBorder, ctrl1dTb ); createTool( SMESHOp::OpFreeBorder, ctrl1dTb );
createTool( SMESHOp::OpLength, ctrl1dTb ); createTool( SMESHOp::OpLength, ctrl1dTb );
createTool( SMESHOp::OpConnection, ctrl1dTb ); createTool( SMESHOp::OpConnection, ctrl1dTb );
createTool( SMESHOp::OpEqualEdge, ctrl1dTb ); createTool( SMESHOp::OpEqualEdge, ctrl1dTb );
createTool( SMESHOp::OpFreeEdge, ctrl2dTb );
createTool( SMESHOp::OpFreeFace, ctrl2dTb ); createTool( SMESHOp::OpFreeFace, ctrl2dTb );
createTool( SMESHOp::OpBareBorderFace, ctrl2dTb ); createTool( SMESHOp::OpBareBorderFace, ctrl2dTb );
createTool( SMESHOp::OpOverConstrainedFace, ctrl2dTb ); createTool( SMESHOp::OpOverConstrainedFace, ctrl2dTb );