// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
//
//
// File : GenerationGUI_PrismDlg.h
// Author : Lucien PIGNOLONI
// Module : GEOM
-// $Header$
#ifndef DIALOGBOX_PRISM_H
#define DIALOGBOX_PRISM_H
-#include "GEOMBase_Skeleton.h"
-#include "DlgRef_2Sel1Spin1Check.h"
-
#include "GenerationGUI.h"
-#include "GEOM_ShapeTypeFilter.hxx"
+#include "GEOMBase_Skeleton.h"
+#include "DlgRef_2Sel1Spin2Check.h"
+#include "DlgRef_3Sel_QTD.h"
//=================================================================================
// class : GenerationGUI_PrismDlg
// purpose :
//=================================================================================
-class GenerationGUI_PrismDlg : public GEOMBase_Skeleton
+class GENERATIONGUI_EXPORT GenerationGUI_PrismDlg : public GEOMBase_Skeleton
{
Q_OBJECT
public:
- GenerationGUI_PrismDlg(QWidget* parent = 0, const char* name = 0, GenerationGUI* theGenerationGUI = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0);
+ GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0,
+ const char* name = 0, bool modal = FALSE, WFlags fl = 0);
~GenerationGUI_PrismDlg();
+protected:
+ // redefined from GEOMBase_Helper
+ virtual GEOM::GEOM_IOperations_ptr createOperation();
+ virtual bool isValid( QString& msg );
+ virtual bool execute( ObjectList& objects );
+
private :
void Init();
void enterEvent(QEvent* e);
- void MakePrismSimulationAndDisplay();
-
- GenerationGUI* myGenerationGUI;
-
- double step;
- Handle(GEOM_ShapeTypeFilter) myEdgeFilter; /* Filters selection */
-
- Standard_Real myDx;
- Standard_Real myDy;
- Standard_Real myDz;
- Standard_Real myHeight; /* Height used for prism (extrusion) */
- TopoDS_Shape myBaseTopo; /* topology used as base of prism */
- GEOM::GEOM_Shape_var myGeomShape; /* that is myBaseTopo */
+ double getHeight() const;
+
+ GEOM::GEOM_Object_var myBase; /* Base shape */
+ GEOM::GEOM_Object_var myVec; /* Vector, defining the direction */
+ GEOM::GEOM_Object_var myPoint1, myPoint2; /* Points for extrusion */
+
bool myOkBase;
- bool myOkLine; /* to check when arguments myDx, myDy, myDz are defined */
+ bool myOkVec;
+ bool myOkPnt1;
+ bool myOkPnt2;
- DlgRef_2Sel1Spin1Check* GroupPoints;
+ DlgRef_2Sel1Spin2Check* GroupPoints;
+ DlgRef_3Sel_QTD* GroupPoints2; // for second layout for extrusion using 2 points
private slots:
void ClickOnOk();
- void ClickOnApply();
+ bool ClickOnApply();
void ActivateThisDialog();
void LineEditReturnPressed();
void SelectionIntoArgument();
void SetEditCurrentArgument();
- void ReverseVector(int state);
- void ValueChangedInSpinBox(double newValue);
-
+ void ConstructorsClicked(int);
+ void ValueChangedInSpinBox();
+ void onReverse();
};
#endif // DIALOGBOX_PRISM_H