]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
0020882: EDF 1341 GEOM: Unadapted behaviour of the viewer when using the sketcher
authordmv <dmv@opencascade.com>
Fri, 21 May 2010 12:19:52 +0000 (12:19 +0000)
committerdmv <dmv@opencascade.com>
Fri, 21 May 2010 12:19:52 +0000 (12:19 +0000)
doc/salome/gui/GEOM/images/neo-scetcher1.png
doc/salome/gui/GEOM/images/neo-scetcher2.png
doc/salome/gui/GEOM/input/creating_sketcher.doc
src/EntityGUI/EntityGUI_SketcherDlg.cxx
src/EntityGUI/EntityGUI_SketcherDlg.h
src/GEOMGUI/GEOM_msg_en.ts
src/GEOMGUI/GeometryGUI.cxx

index d0d5d7132e396f7b397cdfc33f02e636d83c9ff1..2205805bd2b40532ed1167ad781e527648cdc084 100755 (executable)
Binary files a/doc/salome/gui/GEOM/images/neo-scetcher1.png and b/doc/salome/gui/GEOM/images/neo-scetcher1.png differ
index 9097ffc0776e34eb27bcda0f90ff0fe60fe888af..cec5c57b409baaa632d36fcac07a9d9499645c74 100755 (executable)
Binary files a/doc/salome/gui/GEOM/images/neo-scetcher2.png and b/doc/salome/gui/GEOM/images/neo-scetcher2.png differ
index 2da54f5fa786965312f7e35d3a41c87b0748ff12..c93f5f3ff98eee98becd776196f133ac96bef203 100644 (file)
@@ -54,13 +54,14 @@ is predefined and is equal to 90 degrees);</li>
 
 \b Buttons:
 
-<b>"Sketch Validation"</b> button applies the wire, only red part will be built by "Sketch Validation".
+<b>"Restore"</b> button orientates the viewer correspondingly to the chosen working plane and fits the scene to show all its objects. 
+\n <b>"Sketch Validation"</b> button applies the wire, only red part will be built by "Sketch Validation".
 \n <b>"Sketch Closure"</b> will close the Sketch by straight line from last red part and apply it.
 
 \n <b>Dialog Box:</b>
 
 \image html neo-scetcher1.png
-
+<br>
 \image html neo-scetcher2.png
 
 \n <b>Example:</b>
index d1a4ff9e8ef76aa952068266c5347d210737500f..d9cded4fd45c370e5610420fbdc8a0c586fec229 100644 (file)
@@ -105,12 +105,17 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg( GeometryGUI* GUI, QWidget* parent,
   /***************************************************************/
 
   GroupBox1 = new QGroupBox(tr("GEOM_CS"), this);
-  QGridLayout* OwnLayout = new QGridLayout(GroupBox1);
-  OwnLayout->setSpacing(6);
-  OwnLayout->setMargin(11);
+  QHBoxLayout* planeLayout = new QHBoxLayout(GroupBox1);
+  planeLayout->setSpacing(6);
+  planeLayout->setMargin(11);
 
   ComboBox1 = new QComboBox(GroupBox1);
-  OwnLayout->addWidget(ComboBox1);
+  ComboBox1->setSizePolicy( QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed) );
+  planeLayout->addWidget(ComboBox1);
+
+  planeButton = new QPushButton (GroupBox1);
+  planeButton->setText( tr( "GEOM_SKETCHER_RESTORE" ) );
+  planeLayout->addWidget(planeButton);
 
   topLayout->addWidget(GroupBox1);
   topLayout->addWidget( MainWidget );
@@ -233,6 +238,7 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg( GeometryGUI* GUI, QWidget* parent,
   connect( Group4Spin->SpinBox_DS, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
 
   connect( ComboBox1, SIGNAL( activated( int ) ), this, SLOT( SelectionIntoArgument() ) );
+  connect( planeButton, SIGNAL( clicked() ), this, SLOT( ActivateLocalCS() ) );
 
   connect( myGeometryGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), this, SLOT( SetDoubleSpinBoxStep( double ) ) );
 
@@ -352,7 +358,7 @@ void EntityGUI_SketcherDlg::Init()
   FindLocalCS();
   resize(100,100);
 
-
+  ActivateLocalCS();
   GEOMBase_Helper::displayPreview( false, true, true, myLineWidth );
 }
 
@@ -896,6 +902,12 @@ void EntityGUI_SketcherDlg::SelectionIntoArgument()
   double tmpY = myY;
   myX = myLastX1;
   myY = myLastY1;
+  //  printf ("\nmyX = %f         myY = %f", myX, myY);
+  //  printf ("\nmyLastX1 = %f    myLastY1 = %f", myLastX1, myLastY1);
+  //  printf ("\nmyLastX2 = %f    myLastY2 = %f", myLastX2, myLastY2);
+
+  if ( sender() == ComboBox1 )
+      ActivateLocalCS();
 
   LightApp_SelectionMgr* aSelMgr = myGeometryGUI->getApp()->selectionMgr();
   SALOME_ListIO aSelList;
@@ -1747,7 +1759,7 @@ void EntityGUI_SketcherDlg::FindLocalCS()
 
 //=================================================================================
 // function : GetActiveLocalCS()
-// purpose  : Find All Coordinates systems in study
+// purpose  : Get Working plane
 //=================================================================================
 gp_Ax3 EntityGUI_SketcherDlg::GetActiveLocalCS()
 {
@@ -1757,7 +1769,15 @@ gp_Ax3 EntityGUI_SketcherDlg::GetActiveLocalCS()
 
   gp_Ax3 aLCS = myLCSList.at(ind);
 
-  myGeometryGUI->SetWorkingPlane( aLCS );
-  myGeometryGUI->ActiveWorkingPlane();
   return aLCS;
 }
+
+//=================================================================================
+// function : ActivateLocalCS()
+// purpose  : Activate & Fit Working plane
+//=================================================================================
+void EntityGUI_SketcherDlg::ActivateLocalCS()
+{
+    myGeometryGUI->SetWorkingPlane( GetActiveLocalCS() );
+    myGeometryGUI->ActiveWorkingPlane();
+}
index 8e3eaceb02287439606f513f00618ad0fb8cb672..0c0f631ac1f0ea9879310c9e06fa1d55ce845211 100644 (file)
@@ -145,6 +145,7 @@ private:
 
   QGroupBox*                         GroupBox1;
   QComboBox*                         ComboBox1;
+  QPushButton*                       planeButton;
 
   GeometryGUI*                       myGeometryGUI;
 
@@ -184,6 +185,7 @@ private slots:
   void                               SetDoubleSpinBoxStep( double );
   void                               FindLocalCS();
   gp_Ax3                             GetActiveLocalCS();
+  void                               ActivateLocalCS();
 };
 
 #endif // ENTITYGUI_SKETCHERDLG_H
index b54be9129f35bc42939e961d8f9bea1f1b88a318..ade11bc38b3a708b039c11a8417ed0576bff9718 100644 (file)
@@ -1555,6 +1555,10 @@ Please, select face, shell or solid and try again</translation>
             <source>GEOM_SKETCHER_EL</source>
             <translation>Element Type</translation>
         </message>
+       <message>
+            <source>GEOM_SKETCHER_RESTORE</source>
+            <translation>Restore</translation>
+        </message>
         <message>
             <source>GEOM_SKETCHER_LENGTH</source>
             <translation>Length</translation>
index 855e3b6d829de7346fd4deb3e7abd71fa19ba68c..19e6515c4711d662c24bf366e476ea793ede9bd9 100644 (file)
@@ -1278,7 +1278,7 @@ void GeometryGUI::viewManagers( QStringList& lst ) const
 
 void GeometryGUI::onViewManagerAdded( SUIT_ViewManager* vm )
 {
-  if ( vm->getType() == OCCViewer_Viewer::Type() )
+  if ( vm && vm->getType() == OCCViewer_Viewer::Type() )
   {
     qDebug( "connect" );
     connect( vm, SIGNAL( keyPress  ( SUIT_ViewWindow*, QKeyEvent* ) ),