1 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 // File : VVTK_PickingDlg.h
21 // Author : Oleg Uvarov
24 #ifndef VVTK_PICKINGDLG_H
25 #define VVTK_PICKINGDLG_H
27 #include "SVTK_DialogBase.h"
29 #include <vtkObject.h>
30 #include <vtkSmartPointer.h>
32 class vtkActorCollection;
33 class vtkCallbackCommand;
45 class VISU_GaussPtsAct;
46 class VISU_PickingSettings;
48 class SVTK_MainWindow;
49 class SVTK_RenderWindowInteractor;
53 * Uses for set up picking preferenses and apply
54 * them to all actors in the current renderer.
56 class VVTK_PickingDlg : public SVTK_DialogBase
61 VVTK_PickingDlg(QtxAction* theAction,
62 SVTK_MainWindow* theParent,
67 //! Make an actor to listen the event of Update Picking Settings event.
68 void AddActor( VISU_GaussPtsAct* );
69 void RemoveActor( VISU_GaussPtsAct* );
71 //! Update dialog contents.
74 VISU_PickingSettings* GetPickingSettings();
76 void SetInteractor( SVTK_RenderWindowInteractor* );
83 void onColorButtonPressed();
86 static void ProcessEvents(vtkObject* theObject,
87 unsigned long theEvent,
94 QtxDblSpinBox* myCursorSizeSpinBox;
95 QtxDblSpinBox* myPyramidHeightSpinBox;
96 QPushButton* mySelectionColorButton;
97 QtxDblSpinBox* myPointToleranceSpinBox;
98 QtxIntSpinBox* myTransparencySpinBox;
99 QComboBox* myPositionComboBox;
100 QtxDblSpinBox* myZoomFactorSpinBox;
101 QtxIntSpinBox* myStepNumberSpinBox;
102 QCheckBox* myDisplayParentMeshCheckBox;
105 vtkSmartPointer<VISU_PickingSettings> myPickingSettings;
107 SVTK_RenderWindowInteractor* myInteractor;
110 vtkSmartPointer<vtkCallbackCommand> myEventCallbackCommand;