]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
refs #193: OCC viwer problems when move line
authornds <natalia.donis@opencascade.com>
Fri, 31 Oct 2014 05:54:08 +0000 (08:54 +0300)
committernds <natalia.donis@opencascade.com>
Fri, 31 Oct 2014 05:54:08 +0000 (08:54 +0300)
A fix to avoid black-colored window.

src/NewGeom/NewGeom_SalomeViewer.cpp
src/XGUI/XGUI_ViewWindow.cpp

index d9ce85febf901d738fa94427301ce74ddd4c10ca..a455bc183a8bd17683f384f8b01b05b58a65b982 100644 (file)
@@ -123,6 +123,11 @@ void NewGeom_SalomeViewer::onKeyRelease(SUIT_ViewWindow*, QKeyEvent* theEvent)
 void NewGeom_SalomeViewer::enableSelection(bool isEnabled)
 {
   mySelector->viewer()->enableSelection(isEnabled);
+  // there is a fix for a black-colored window 
+  // the viewer rubber band is valid if the values delta is less than 1
+  // TODO: remove this row after moving to SALOME 7.5
+  mySelector->viewer()->setInteractionStyle(isEnabled ? SUIT_ViewModel::STANDARD
+                                                      : SUIT_ViewModel::KEY_FREE);
 }
 
 //**********************************************
index b64386288fe908cad45948a44f5f7a6d6599e46e..78c7f7195ea3ca5d32be07a4a06af7b2f62554cd 100644 (file)
@@ -22,6 +22,8 @@
 #include <TopoDS.hxx>
 #include <Visual3d_View.hxx>
 
+#include <math.h>
+
 #define BORDER_SIZE 2
 
 const char* imageZoomCursor[] = { "32 32 3 1", ". c None", "a c #000000", "# c #ffffff",
@@ -871,6 +873,16 @@ void XGUI_ViewWindow::vpMouseMoveEvent(QMouseEvent* theEvent)
  */
 void XGUI_ViewWindow::drawRect()
 {
+  // there is a fix for a black-colored window 
+  // the rubber band is valid if the values delta is less than 1
+  // TODO: move this fix to the RectRubberBand according to SALOME 7.5
+  double aDeltaX = fabs((float)(myStartX-myCurrX));
+  double aDeltaY = fabs((float)(myStartY-myCurrY));
+  if (aDeltaX <= 1 || aDeltaY == 1) {
+    endDrawRect();
+    return;
+  }
+
   if (!myRectBand) {
     myRectBand = new XGUI_RectRubberBand(myViewPort);
   }