27#ifndef SMESHGUI_CLIPPINGDLG_H
28#define SMESHGUI_CLIPPINGDLG_H
34#include <SVTK_ViewWindow.h>
42#include <vtkSmartPointer.h>
62class QtxDoubleSpinBox;
63class QtxDoubleSpinSlider;
64class QtxIntSpinSlider;
66class vtkDataSetMapper;
68class vtkCallbackCommand;
70class vtkImplicitPlaneWidget;
86 QPointer<SVTK_ViewWindow> myViewWindow;
155 void keyPressEvent( QKeyEvent* );
156 static void ProcessEvents( vtkObject* theObject,
157 unsigned long theEvent,
161 double getDistance()
const;
162 void setDistance(
const double );
163 double getRotation1()
const;
164 double getRotation2()
const;
165 void setRotation(
const double,
const double );
167 void setOrigin(
double theVal[3]);
168 void setDirection(
double theVal[3]);
170 void initializePlaneData();
173 void updateActorList();
174 void updateActorItem( QListWidgetItem* theItem,
175 bool theUpdateSelectAll,
176 bool theUpdateClippingPlaneMap );
179 void dumpPlaneData()
const;
180 void absolutePlaneToRelative (
double theOrigin[3],
double theDir[3] );
181 void setBoundsForPreviewWidget();
182 vtkImplicitPlaneWidget* createPreviewWidget();
249 virtual void reject();
252 void onModeAbsolute();
253 void onModeRelative();
255 void ClickOnDelete();
256 void onSelectPlane(
int );
257 void onSelectAll(
int );
258 void onActorItemChanged( QListWidgetItem* );
259 void SetCurrentPlaneParam();
261 void onIsOpenGLClipping(
bool);
262 void OnPreviewToggle(
bool );
263 void onAutoApply(
bool);
268 void onSelectAbsoluteOrientation(
int );
269 void onSelectRelativeOrientation(
int );
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Definition: SMESHGUI_ClippingDlg.h:145
QPushButton * buttonApply
Definition: SMESHGUI_ClippingDlg.h:239
QPushButton * buttonCancel
Definition: SMESHGUI_ClippingDlg.h:238
QCheckBox * SelectAllCheckBox
Definition: SMESHGUI_ClippingDlg.h:201
QCheckBox * AutoApplyCheckBox
Definition: SMESHGUI_ClippingDlg.h:235
QtxIntSpinSlider * SpinSliderRotation2
Definition: SMESHGUI_ClippingDlg.h:231
QLabel * TextLabelZ
Definition: SMESHGUI_ClippingDlg.h:208
QLabel * TextLabelOrientation
Definition: SMESHGUI_ClippingDlg.h:225
QtxDoubleSpinBox * SpinBox_Y
Definition: SMESHGUI_ClippingDlg.h:210
QComboBox * ComboBoxPlanes
Definition: SMESHGUI_ClippingDlg.h:194
SMESHGUI * mySMESHGUI
Definition: SMESHGUI_ClippingDlg.h:186
SVTK_ViewWindow * myViewWindow
Definition: SMESHGUI_ClippingDlg.h:187
QtxDoubleSpinBox * SpinBox_Dz
Definition: SMESHGUI_ClippingDlg.h:220
QGroupBox * GroupAbsolutePoint
Definition: SMESHGUI_ClippingDlg.h:205
SMESH::TPlaneDataVector myPlanes
Definition: SMESHGUI_ClippingDlg.h:188
vtkCallbackCommand * myCallback
Definition: SMESHGUI_ClippingDlg.h:190
QPushButton * buttonNew
Definition: SMESHGUI_ClippingDlg.h:196
vtkImplicitPlaneWidget * myPreviewWidget
Definition: SMESHGUI_ClippingDlg.h:191
QStackedLayout * ModeStackedLayout
Definition: SMESHGUI_ClippingDlg.h:203
QLabel * TextLabelX
Definition: SMESHGUI_ClippingDlg.h:206
bool myIsPreviewMoved
Definition: SMESHGUI_ClippingDlg.h:243
QtxDoubleSpinBox * SpinBox_Dx
Definition: SMESHGUI_ClippingDlg.h:218
QtxIntSpinSlider * SpinSliderRotation1
Definition: SMESHGUI_ClippingDlg.h:230
bool myIsSelectPlane
Definition: SMESHGUI_ClippingDlg.h:242
QLabel * TextLabelRotation2
Definition: SMESHGUI_ClippingDlg.h:228
QtxDoubleSpinBox * SpinBox_X
Definition: SMESHGUI_ClippingDlg.h:209
QLabel * TextLabelDx
Definition: SMESHGUI_ClippingDlg.h:215
QPushButton * invertButton
Definition: SMESHGUI_ClippingDlg.h:221
QtxDoubleSpinBox * SpinBox_Z
Definition: SMESHGUI_ClippingDlg.h:211
QString myHelpFileName
Definition: SMESHGUI_ClippingDlg.h:244
QLabel * TextLabelDz
Definition: SMESHGUI_ClippingDlg.h:217
QPushButton * resetButton
Definition: SMESHGUI_ClippingDlg.h:212
QCheckBox * isOpenGLClipping
Definition: SMESHGUI_ClippingDlg.h:195
SMESH::Mode CurrentMode
Definition: SMESHGUI_ClippingDlg.h:246
QGroupBox * GroupRelative
Definition: SMESHGUI_ClippingDlg.h:224
QComboBox * CBRelativeOrientation
Definition: SMESHGUI_ClippingDlg.h:232
QtxDoubleSpinSlider * SpinSliderDistance
Definition: SMESHGUI_ClippingDlg.h:229
QLabel * TextLabelY
Definition: SMESHGUI_ClippingDlg.h:207
QPushButton * buttonDelete
Definition: SMESHGUI_ClippingDlg.h:198
QLabel * TextLabelDistance
Definition: SMESHGUI_ClippingDlg.h:226
QPushButton * buttonOk
Definition: SMESHGUI_ClippingDlg.h:237
QPushButton * buttonHelp
Definition: SMESHGUI_ClippingDlg.h:240
QMenu * MenuMode
Definition: SMESHGUI_ClippingDlg.h:197
QGroupBox * GroupAbsoluteDirection
Definition: SMESHGUI_ClippingDlg.h:214
QListWidget * ActorList
Definition: SMESHGUI_ClippingDlg.h:200
QtxDoubleSpinBox * SpinBox_Dy
Definition: SMESHGUI_ClippingDlg.h:219
QComboBox * CBAbsoluteOrientation
Definition: SMESHGUI_ClippingDlg.h:222
QCheckBox * PreviewCheckBox
Definition: SMESHGUI_ClippingDlg.h:234
QLabel * TextLabelDy
Definition: SMESHGUI_ClippingDlg.h:216
QLabel * TextLabelRotation1
Definition: SMESHGUI_ClippingDlg.h:227
Definition: SMESHGUI.h:84
Definition: SMESHGUI_ClippingDlg.h:78
double Z
Definition: SMESHGUI_ClippingDlg.h:90
bool IsOpenGLClipping
Definition: SMESHGUI_ClippingDlg.h:93
~OrientedPlane()
Destructor of class OrientedPlane.
Definition: SMESHGUI_ClippingDlg.cxx:220
float myDistance
Definition: SMESHGUI_ClippingDlg.h:88
SMESH::Orientation myRelativeOrientation
Definition: SMESHGUI_ClippingDlg.h:87
vtkDataSetMapper * myMapper
Definition: SMESHGUI_ClippingDlg.h:79
int myAbsoluteOrientation
Definition: SMESHGUI_ClippingDlg.h:91
double myAngle[2]
Definition: SMESHGUI_ClippingDlg.h:89
OrientedPlane * InvertPlane()
Invert current clipping plane in contrary direction.
Definition: SMESHGUI_ClippingDlg.cxx:141
bool IsInvert
Definition: SMESHGUI_ClippingDlg.h:92
SALOME_Actor * myActor
Definition: SMESHGUI_ClippingDlg.h:97
OrientedPlane()
Constructor of class OrientedPlane.
Definition: SMESHGUI_ClippingDlg.cxx:165
void SetOrientation(SMESH::Orientation theOrientation)
Definition: SMESHGUI_ClippingDlg.h:99
double Dz
Definition: SMESHGUI_ClippingDlg.h:90
void operator=(const OrientedPlane &)
static OrientedPlane * New()
Create new object of class OrientedPlane.
Definition: SMESHGUI_ClippingDlg.cxx:92
void Init()
Initialize parameters of class OrientedPlane.
Definition: SMESHGUI_ClippingDlg.cxx:174
vtkTypeMacro(OrientedPlane, vtkPlane) QPointer< SVTK_ViewWindow > myViewWindow
void ShallowCopy(OrientedPlane *theOrientedPlane)
Copy the object of class OrientedPlane.
Definition: SMESHGUI_ClippingDlg.cxx:108
OrientedPlane(const OrientedPlane &)
SMESH::Orientation GetOrientation()
Definition: SMESHGUI_ClippingDlg.h:100
double Y
Definition: SMESHGUI_ClippingDlg.h:90
void SetDistance(float theDistance)
Definition: SMESHGUI_ClippingDlg.h:102
double X
Definition: SMESHGUI_ClippingDlg.h:90
Mode PlaneMode
Definition: SMESHGUI_ClippingDlg.h:94
float GetDistance()
Definition: SMESHGUI_ClippingDlg.h:103
double Dy
Definition: SMESHGUI_ClippingDlg.h:90
double Dx
Definition: SMESHGUI_ClippingDlg.h:90
vtkPlaneSource * myPlaneSource
Definition: SMESHGUI_ClippingDlg.h:96
Definition: SMESH_Actor.h:56
Definition: SMESH_ControlsClassifier.cxx:39
std::list< vtkActor * > TActorList
Definition: SMESHGUI_ClippingDlg.h:122
Mode
Definition: SMESHGUI_ClippingDlg.h:74
@ Relative
Definition: SMESHGUI_ClippingDlg.h:74
@ Absolute
Definition: SMESHGUI_ClippingDlg.h:74
Orientation
Definition: SMESHGUI_ClippingDlg.h:75
@ YZ
Definition: SMESHGUI_ClippingDlg.h:75
@ XY
Definition: SMESHGUI_ClippingDlg.h:75
@ ZX
Definition: SMESHGUI_ClippingDlg.h:75
vtkSmartPointer< OrientedPlane > TPlane
Definition: SMESHGUI_ClippingDlg.h:121
std::vector< TPlaneData > TPlaneDataVector
Definition: SMESHGUI_ClippingDlg.h:137
std::vector< TPlane > TPlaneVector
Definition: SMESHGUI_ClippingDlg.h:136
Definition: SMESHGUI_ClippingDlg.h:125
TActorList ActorList
Definition: SMESHGUI_ClippingDlg.h:133
TPlane Plane
Definition: SMESHGUI_ClippingDlg.h:132
TPlaneData(TPlane thePlane, TActorList theActorList)
Definition: SMESHGUI_ClippingDlg.h:126