]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
NPAL16568: Added Approximation parameter in MakeFilling algorithm.
authorvtn <vtn@opencascade.com>
Mon, 4 Feb 2008 13:58:23 +0000 (13:58 +0000)
committervtn <vtn@opencascade.com>
Mon, 4 Feb 2008 13:58:23 +0000 (13:58 +0000)
28 files changed:
doc/salome/gui/GEOM/images/filling.png
doc/salome/gui/GEOM/input/creating_complex_obj.doc
doc/salome/gui/GEOM/input/creating_filling.doc
doc/salome/gui/GEOM/input/creating_geom_objects.doc
doc/salome/gui/GEOM/input/index.doc
idl/GEOM_Gen.idl
idl/GEOM_Superv.idl
src/DlgRef/DlgRef_1Sel5Spin1Check.cxx [new file with mode: 0644]
src/DlgRef/DlgRef_1Sel5Spin1Check.h [new file with mode: 0644]
src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.cxx [new file with mode: 0644]
src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.h [new file with mode: 0644]
src/DlgRef/Makefile.am
src/DlgRef/UIFiles/DlgRef_1Sel5Spin1Check_QTD.ui [new file with mode: 0644]
src/DlgRef/UIFiles/ui_to_cxx
src/GEOM/GEOM_Gen_i.cc
src/GEOMGUI/GEOM_msg_en.po
src/GEOMImpl/GEOMImpl_FillingDriver.cxx
src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx
src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx
src/GEOMImpl/GEOMImpl_IFilling.hxx
src/GEOM_I/GEOM_I3DPrimOperations_i.cc
src/GEOM_I/GEOM_I3DPrimOperations_i.hh
src/GEOM_I_Superv/GEOM_Superv_i.cc
src/GEOM_I_Superv/GEOM_Superv_i.hh
src/GEOM_SWIG/batchmode_geompy.py
src/GEOM_SWIG/geompyDC.py
src/GenerationGUI/GenerationGUI_FillingDlg.cxx
src/GenerationGUI/GenerationGUI_FillingDlg.h

index 418c22431a22619f4dc692f96e22f5621d389b47..1fb29455c8d99228329e0b9270bf785770f81fb7 100755 (executable)
Binary files a/doc/salome/gui/GEOM/images/filling.png and b/doc/salome/gui/GEOM/images/filling.png differ
index 23927a4a90d78a709c15d608790ed689bb9562ea..6edbfd9c558351d4f7661f09657731daa9744c68 100644 (file)
@@ -5,8 +5,8 @@
 <ul>
 <li>\subpage create_extrusion_page</li>
 <li>\subpage create_revolution_page</li>
-<li>\subpage creaet_filling_page</li>
+<li>\subpage create_filling_page</li>
 <li>\subpage create_extrusion_alongpath_page</li>
 </ul>
 
-*/
\ No newline at end of file
+*/
index 25c99395a142a004d1a42ddacbf27140ebfd7b07..82d446f2c31c8812b6cc41190c4b47280dca4939 100644 (file)
@@ -1,18 +1,20 @@
 /*!
 
-\page creaet_filling_page Filling Surface with Edges
+\page create_filling_page Filling Surface with Edges
 
 To generate a \b Filling in the <b>Main Menu</b> select <b>New Entity - > Generation  - > Filling</b>
 
 \n To create a curving face using several edges you need to define the
 <b>Edges Compound</b>, \b Minimum and <b>Maximum Degree</b>, \b
-Tolerance for \b 2D and for \b 3D  and the <b>Number of Iterations</b>.
+Tolerance for \b 2D and for \b 3D , the <b>Number of Iterations</b>
+and <b>Approximation</b>.
 \n The \b Result of the operation will be a GEOM_Object (face).
 
-\n <b>TUI Command:</b> <em>geompy.MakeFilling(Edges, MinDegree, MaxDegree, Tol2D, Tol3D, NbIter)</em>
-\n <b>Arguments:</b> Name + 1 List of edges + 5 Parameters
+\n <b>TUI Command:</b> <em>geompy.MakeFilling(Edges, MinDegree,
+MaxDegree, Tol2D, Tol3D, NbIter, isApprox)</em>
+\n <b>Arguments:</b> Name + 1 List of edges + 6 Parameters
 (Min. degree, Max. degree, Number of iterations, 2D tolerance, 3D
-tolerance, Number of iterations).
+tolerance, Number of iterations, Approximation).
 
 \image html filling.png
 
index bc66bed97314ae397579f33576fd97d5e7c72a38..1c804ae7102c61f018717113b65c0362fff97a3a 100644 (file)
@@ -28,7 +28,7 @@
 <ul>
 <li>\ref create_extrusion_page</li>
 <li>\ref create_revolution_page</li>
-<li>\ref creaet_filling_page</li>
+<li>\ref create_filling_page</li>
 <li>\ref create_extrusion_alongpath_page</li>
 </ul>
 <li>\subpage work_with_groups_page</li>
@@ -46,4 +46,4 @@
 </ul>
 </ul>
 
-*/
\ No newline at end of file
+*/
index 3d2d5d102d7535300e0514e056c41c919ede0e19..45eb2ac656c7dd711982a4b491946bc5d6e5ed0e 100644 (file)
@@ -32,7 +32,7 @@
 <ul>
 <li>\ref create_extrusion_page</li>
 <li>\ref create_revolution_page</li>
-<li>\ref creaet_filling_page</li>
+<li>\ref create_filling_page</li>
 <li>\ref create_extrusion_alongpath_page</li>
 </ul>
 <li>\ref work_with_groups_page</li>
 </ul>
 </ul>
 
-*/
\ No newline at end of file
+*/
index ff1d4044ab0cc35d4ed76aa18b27d16a654d0d71..de4600e277da9ea6ae230fbd74fa6e7802544ebc 100644 (file)
@@ -902,7 +902,7 @@ module GEOM
     GEOM_Object MakeFilling (in GEOM_Object theShape,
                             in long theMinDeg, in long theMaxDeg,
                             in double theTol2D, in double theTol3D,
-                            in long theNbIter);
+                            in long theNbIter, in boolean theApprox);
 
     /*!
      *  Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
index dcaecd95f154c65e4c2c4b893ec6640a2bd6440a..98d819daf53cf3e67e8be321cef78a42e1d00ac6 100644 (file)
@@ -176,7 +176,7 @@ module GEOM
     GEOM_Object MakeFilling (in GEOM_Object theShape,
                             in long theMinDeg, in long theMaxDeg,
                             in double theTol2D, in double theTol3D,
-                            in long theNbIter) ;
+                            in long theNbIter, in boolean theApprox) ;
     GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
                                 in boolean theModeSolid,
                                 in double thePreci,
diff --git a/src/DlgRef/DlgRef_1Sel5Spin1Check.cxx b/src/DlgRef/DlgRef_1Sel5Spin1Check.cxx
new file mode 100644 (file)
index 0000000..d683e97
--- /dev/null
@@ -0,0 +1,71 @@
+//  GEOM GEOMGUI : GUI for Geometry component
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : DlgRef_1Sel5Spin1Check.cxx
+//  Author : Vladimir TURIN
+//  Module : GEOM
+//  $Header: 
+
+#include "DlgRef_1Sel5Spin1Check.h"
+
+#include <qlayout.h>
+#include <qspinbox.h>
+#include <qgroupbox.h>
+
+/* 
+ *  Constructs a DlgRef_1Sel5Spin1Check which is a child of 'parent', with the 
+ *  name 'name' and widget flags set to 'f' 
+ */
+DlgRef_1Sel5Spin1Check::DlgRef_1Sel5Spin1Check(QWidget* parent,  const char* name, WFlags fl)
+  :DlgRef_1Sel5Spin1Check_QTD(parent, name, fl)
+{
+  SpinBox1->close(TRUE);
+  SpinBox2->close(TRUE);
+  SpinBox3->close(TRUE);
+  SpinBox4->close(TRUE);
+  SpinBox5->close(TRUE);
+
+  SpinBox_1 = new DlgRef_SpinBox(GroupBox1, "SpinBox_1");
+  Layout2->addWidget(SpinBox_1, 0, 1);
+
+  SpinBox_2 = new DlgRef_SpinBox(GroupBox1, "SpinBox_2");
+  Layout2->addWidget(SpinBox_2, 0, 3);
+
+  SpinBox_3 = new DlgRef_SpinBox(GroupBox1, "SpinBox_3");
+  Layout2->addWidget(SpinBox_3, 2, 1);
+
+  SpinBox_4 = new DlgRef_SpinBox(GroupBox1, "SpinBox_4");
+  Layout2->addWidget(SpinBox_4, 1, 1);
+
+  SpinBox_5 = new DlgRef_SpinBox(GroupBox1, "SpinBox_5");
+  Layout2->addWidget(SpinBox_5, 1, 3);
+}
+
+
+/*  
+ *  Destroys the object and frees any allocated resources
+ */
+DlgRef_1Sel5Spin1Check::~DlgRef_1Sel5Spin1Check()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
diff --git a/src/DlgRef/DlgRef_1Sel5Spin1Check.h b/src/DlgRef/DlgRef_1Sel5Spin1Check.h
new file mode 100644 (file)
index 0000000..271839c
--- /dev/null
@@ -0,0 +1,53 @@
+//  GEOM GEOMGUI : GUI for Geometry component
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  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.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+//  File   : DlgRef_1Sel5Spin1Check.h
+//  Author : Vladimir TURIN
+//  Module : GEOM
+//  $Header: 
+
+#ifndef DLGREF_1SEL5SPIN_H
+#define DLGREF_1SEL5SPIN_H
+
+#include "GEOM_DlgRef.hxx"
+
+#include "DlgRef_1Sel5Spin1Check_QTD.h"
+#include "DlgRef_SpinBox.h"
+
+class GEOM_DLGREF_EXPORT DlgRef_1Sel5Spin1Check : public DlgRef_1Sel5Spin1Check_QTD
+{ 
+    Q_OBJECT
+
+public:
+    DlgRef_1Sel5Spin1Check( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+    ~DlgRef_1Sel5Spin1Check();
+
+    DlgRef_SpinBox* SpinBox_1;
+    DlgRef_SpinBox* SpinBox_2;
+    DlgRef_SpinBox* SpinBox_3;
+    DlgRef_SpinBox* SpinBox_4;
+    DlgRef_SpinBox* SpinBox_5;
+
+};
+
+#endif // DLGREF_1SEL5SPIN_H
diff --git a/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.cxx b/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.cxx
new file mode 100644 (file)
index 0000000..2785759
--- /dev/null
@@ -0,0 +1,150 @@
+/****************************************************************************
+** Form implementation generated from reading ui file 'DlgRef_1Sel5Spin1Check_QTD.ui'
+**
+** Created: Fri Feb 1 14:04:55 2008
+**      by: The User Interface Compiler ($Id$)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#include "DlgRef_1Sel5Spin1Check_QTD.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qgroupbox.h>
+#include <qlabel.h>
+#include <qspinbox.h>
+#include <qcheckbox.h>
+#include <qlineedit.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ *  Constructs a DlgRef_1Sel5Spin1Check_QTD as a child of 'parent', with the
+ *  name 'name' and widget flags set to 'f'.
+ */
+DlgRef_1Sel5Spin1Check_QTD::DlgRef_1Sel5Spin1Check_QTD( QWidget* parent, const char* name, WFlags fl )
+    : QWidget( parent, name, fl )
+{
+    if ( !name )
+       setName( "DlgRef_1Sel5Spin1Check_QTD" );
+    DlgRef_1Sel5Spin1Check_QTDLayout = new QGridLayout( this, 1, 1, 0, 6, "DlgRef_1Sel5Spin1Check_QTDLayout"); 
+
+    GroupBox1 = new QGroupBox( this, "GroupBox1" );
+    GroupBox1->setColumnLayout(0, Qt::Vertical );
+    GroupBox1->layout()->setSpacing( 6 );
+    GroupBox1->layout()->setMargin( 11 );
+    GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
+    GroupBox1Layout->setAlignment( Qt::AlignTop );
+
+    Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1"); 
+
+    TextLabel1 = new QLabel( GroupBox1, "TextLabel1" );
+    TextLabel1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel1->sizePolicy().hasHeightForWidth() ) );
+
+    Layout1->addWidget( TextLabel1, 0, 0 );
+
+    PushButton1 = new QPushButton( GroupBox1, "PushButton1" );
+    PushButton1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, PushButton1->sizePolicy().hasHeightForWidth() ) );
+
+    Layout1->addWidget( PushButton1, 0, 1 );
+
+    Layout2 = new QGridLayout( 0, 1, 1, 0, 6, "Layout2"); 
+
+    SpinBox2 = new QSpinBox( GroupBox1, "SpinBox2" );
+    SpinBox2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox2->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( SpinBox2, 0, 3 );
+
+    SpinBox3 = new QSpinBox( GroupBox1, "SpinBox3" );
+    SpinBox3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox3->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( SpinBox3, 2, 1 );
+
+    TextLabel5 = new QLabel( GroupBox1, "TextLabel5" );
+    TextLabel5->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel5->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( TextLabel5, 1, 0 );
+
+    TextLabel3 = new QLabel( GroupBox1, "TextLabel3" );
+    TextLabel3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel3->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( TextLabel3, 0, 2 );
+
+    TextLabel4 = new QLabel( GroupBox1, "TextLabel4" );
+    TextLabel4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel4->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( TextLabel4, 2, 0 );
+
+    SpinBox4 = new QSpinBox( GroupBox1, "SpinBox4" );
+    SpinBox4->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox4->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( SpinBox4, 1, 1 );
+
+    SpinBox1 = new QSpinBox( GroupBox1, "SpinBox1" );
+    SpinBox1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox1->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( SpinBox1, 0, 1 );
+
+    TextLabel6 = new QLabel( GroupBox1, "TextLabel6" );
+    TextLabel6->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel6->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( TextLabel6, 1, 2 );
+
+    TextLabel2 = new QLabel( GroupBox1, "TextLabel2" );
+    TextLabel2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, TextLabel2->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( TextLabel2, 0, 0 );
+
+    SpinBox5 = new QSpinBox( GroupBox1, "SpinBox5" );
+    SpinBox5->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SpinBox5->sizePolicy().hasHeightForWidth() ) );
+
+    Layout2->addWidget( SpinBox5, 1, 3 );
+
+    CheckBox1 = new QCheckBox( GroupBox1, "CheckBox1" );
+
+    Layout2->addMultiCellWidget( CheckBox1, 2, 2, 2, 3 );
+
+    Layout1->addMultiCellLayout( Layout2, 1, 1, 0, 2 );
+    Spacer6 = new QSpacerItem( 0, 120, QSizePolicy::Minimum, QSizePolicy::Expanding );
+    Layout1->addItem( Spacer6, 2, 2 );
+
+    LineEdit1 = new QLineEdit( GroupBox1, "LineEdit1" );
+
+    Layout1->addWidget( LineEdit1, 0, 2 );
+
+    GroupBox1Layout->addLayout( Layout1, 0, 0 );
+
+    DlgRef_1Sel5Spin1Check_QTDLayout->addWidget( GroupBox1, 0, 0 );
+    languageChange();
+    resize( QSize(162, 143).expandedTo(minimumSizeHint()) );
+    clearWState( WState_Polished );
+}
+
+/*
+ *  Destroys the object and frees any allocated resources
+ */
+DlgRef_1Sel5Spin1Check_QTD::~DlgRef_1Sel5Spin1Check_QTD()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ *  Sets the strings of the subwidgets using the current
+ *  language.
+ */
+void DlgRef_1Sel5Spin1Check_QTD::languageChange()
+{
+    setCaption( tr( "DlgRef_1Sel5Spin1Check_QTD" ) );
+    GroupBox1->setTitle( QString::null );
+    TextLabel1->setText( tr( "TL1" ) );
+    PushButton1->setText( QString::null );
+    TextLabel5->setText( tr( "TL5" ) );
+    TextLabel3->setText( tr( "TL3" ) );
+    TextLabel4->setText( tr( "TL4" ) );
+    TextLabel6->setText( tr( "TL6" ) );
+    TextLabel2->setText( tr( "TL2" ) );
+    CheckBox1->setText( QString::null );
+}
+
diff --git a/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.h b/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.h
new file mode 100644 (file)
index 0000000..0f7fbc8
--- /dev/null
@@ -0,0 +1,63 @@
+/****************************************************************************
+** Form interface generated from reading ui file 'DlgRef_1Sel5Spin1Check_QTD.ui'
+**
+** Created: Fri Feb 1 14:04:51 2008
+**      by: The User Interface Compiler ($Id$)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+
+#ifndef DLGREF_1SEL5SPIN1CHECK_QTD_H
+#define DLGREF_1SEL5SPIN1CHECK_QTD_H
+
+#include <qvariant.h>
+#include <qwidget.h>
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QSpacerItem;
+class QGroupBox;
+class QLabel;
+class QPushButton;
+class QSpinBox;
+class QCheckBox;
+class QLineEdit;
+
+class DlgRef_1Sel5Spin1Check_QTD : public QWidget
+{
+    Q_OBJECT
+
+public:
+    DlgRef_1Sel5Spin1Check_QTD( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+    ~DlgRef_1Sel5Spin1Check_QTD();
+
+    QGroupBox* GroupBox1;
+    QLabel* TextLabel1;
+    QPushButton* PushButton1;
+    QSpinBox* SpinBox2;
+    QSpinBox* SpinBox3;
+    QLabel* TextLabel5;
+    QLabel* TextLabel3;
+    QLabel* TextLabel4;
+    QSpinBox* SpinBox4;
+    QSpinBox* SpinBox1;
+    QLabel* TextLabel6;
+    QLabel* TextLabel2;
+    QSpinBox* SpinBox5;
+    QCheckBox* CheckBox1;
+    QLineEdit* LineEdit1;
+
+protected:
+    QGridLayout* DlgRef_1Sel5Spin1Check_QTDLayout;
+    QGridLayout* GroupBox1Layout;
+    QGridLayout* Layout1;
+    QSpacerItem* Spacer6;
+    QGridLayout* Layout2;
+
+protected slots:
+    virtual void languageChange();
+
+};
+
+#endif // DLGREF_1SEL5SPIN1CHECK_QTD_H
index 4db37c6eb693b90bf078d5e77f55c77fac7053d6..960a9ad065b5a3fda687af1c5a560c25878f0542 100644 (file)
@@ -46,6 +46,7 @@ dist_libDlgRef_la_SOURCES = \
        DlgRef_1Sel3Spin_QTD.cxx \
        DlgRef_1Sel4Spin_QTD.cxx \
        DlgRef_1Sel5Spin_QTD.cxx \
+       DlgRef_1Sel5Spin1Check_QTD.cxx \
        DlgRef_2Sel1Spin_QTD.cxx \
        DlgRef_2Sel2Spin_QTD.cxx \
        DlgRef_2Sel3Spin_QTD.cxx \
@@ -73,6 +74,7 @@ dist_libDlgRef_la_SOURCES = \
        DlgRef_1Sel3Spin.cxx \
        DlgRef_1Sel4Spin.cxx \
        DlgRef_1Sel5Spin.cxx \
+       DlgRef_1Sel5Spin1Check.cxx \
        DlgRef_2Sel1Spin.cxx \
        DlgRef_2Sel2Spin.cxx \
        DlgRef_2Sel3Spin.cxx \
@@ -105,6 +107,7 @@ MOC_FILES = \
        DlgRef_1Sel3Spin_QTD_moc.cxx \
        DlgRef_1Sel4Spin_QTD_moc.cxx \
        DlgRef_1Sel5Spin_QTD_moc.cxx \
+       DlgRef_1Sel5Spin1Check_QTD_moc.cxx \
        DlgRef_2Sel1Spin_QTD_moc.cxx \
        DlgRef_2Sel2Spin_QTD_moc.cxx \
        DlgRef_2Sel3Spin_QTD_moc.cxx \
@@ -132,6 +135,7 @@ MOC_FILES = \
        DlgRef_1Sel3Spin_moc.cxx \
        DlgRef_1Sel4Spin_moc.cxx \
        DlgRef_1Sel5Spin_moc.cxx \
+       DlgRef_1Sel5Spin1Check_moc.cxx \
        DlgRef_2Sel1Spin_moc.cxx \
        DlgRef_2Sel2Spin_moc.cxx \
        DlgRef_2Sel3Spin_moc.cxx \
@@ -166,6 +170,7 @@ salomeinclude_HEADERS = \
        DlgRef_1Sel3Spin_QTD.h \
        DlgRef_1Sel4Spin_QTD.h \
        DlgRef_1Sel5Spin_QTD.h \
+       DlgRef_1Sel5Spin1Check_QTD.h \
        DlgRef_2Sel1Spin_QTD.h \
        DlgRef_2Sel2Spin_QTD.h \
        DlgRef_2Sel3Spin_QTD.h \
@@ -193,6 +198,7 @@ salomeinclude_HEADERS = \
        DlgRef_1Sel3Spin.h \
        DlgRef_1Sel4Spin.h \
        DlgRef_1Sel5Spin.h \
+       DlgRef_1Sel5Spin1Check.h \
        DlgRef_2Sel1Spin.h \
        DlgRef_2Sel2Spin.h \
        DlgRef_2Sel3Spin.h \
diff --git a/src/DlgRef/UIFiles/DlgRef_1Sel5Spin1Check_QTD.ui b/src/DlgRef/UIFiles/DlgRef_1Sel5Spin1Check_QTD.ui
new file mode 100644 (file)
index 0000000..155cbec
--- /dev/null
@@ -0,0 +1,290 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>DlgRef_1Sel5Spin1Check_QTD</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DlgRef_1Sel5Spin1Check_QTD</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>162</width>
+            <height>143</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>DlgRef_1Sel5Spin1Check_QTD</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <property name="margin">
+            <number>0</number>
+        </property>
+        <property name="spacing">
+            <number>6</number>
+        </property>
+        <widget class="QGroupBox" row="0" column="0">
+            <property name="name">
+                <cstring>GroupBox1</cstring>
+            </property>
+            <property name="title">
+                <string></string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <property name="margin">
+                    <number>11</number>
+                </property>
+                <property name="spacing">
+                    <number>6</number>
+                </property>
+                <widget class="QLayoutWidget" row="0" column="0">
+                    <property name="name">
+                        <cstring>Layout1</cstring>
+                    </property>
+                    <grid>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <property name="margin">
+                            <number>0</number>
+                        </property>
+                        <property name="spacing">
+                            <number>6</number>
+                        </property>
+                        <widget class="QLabel" row="0" column="0">
+                            <property name="name">
+                                <cstring>TextLabel1</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>0</hsizetype>
+                                    <vsizetype>0</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="text">
+                                <string>TL1</string>
+                            </property>
+                        </widget>
+                        <widget class="QPushButton" row="0" column="1">
+                            <property name="name">
+                                <cstring>PushButton1</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>0</hsizetype>
+                                    <vsizetype>0</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="text">
+                                <string></string>
+                            </property>
+                        </widget>
+                        <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="3">
+                            <property name="name">
+                                <cstring>Layout2</cstring>
+                            </property>
+                            <grid>
+                                <property name="name">
+                                    <cstring>unnamed</cstring>
+                                </property>
+                                <property name="margin">
+                                    <number>0</number>
+                                </property>
+                                <property name="spacing">
+                                    <number>6</number>
+                                </property>
+                                <widget class="QSpinBox" row="0" column="3">
+                                    <property name="name">
+                                        <cstring>SpinBox2</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>7</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                </widget>
+                                <widget class="QSpinBox" row="2" column="1">
+                                    <property name="name">
+                                        <cstring>SpinBox3</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>7</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                </widget>
+                                <widget class="QLabel" row="1" column="0">
+                                    <property name="name">
+                                        <cstring>TextLabel5</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="text">
+                                        <string>TL5</string>
+                                    </property>
+                                </widget>
+                                <widget class="QLabel" row="0" column="2">
+                                    <property name="name">
+                                        <cstring>TextLabel3</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="text">
+                                        <string>TL3</string>
+                                    </property>
+                                </widget>
+                                <widget class="QLabel" row="2" column="0">
+                                    <property name="name">
+                                        <cstring>TextLabel4</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="text">
+                                        <string>TL4</string>
+                                    </property>
+                                </widget>
+                                <widget class="QSpinBox" row="1" column="1">
+                                    <property name="name">
+                                        <cstring>SpinBox4</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>7</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                </widget>
+                                <widget class="QSpinBox" row="0" column="1">
+                                    <property name="name">
+                                        <cstring>SpinBox1</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>7</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                </widget>
+                                <widget class="QLabel" row="1" column="2">
+                                    <property name="name">
+                                        <cstring>TextLabel6</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="text">
+                                        <string>TL6</string>
+                                    </property>
+                                </widget>
+                                <widget class="QLabel" row="0" column="0">
+                                    <property name="name">
+                                        <cstring>TextLabel2</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="text">
+                                        <string>TL2</string>
+                                    </property>
+                                </widget>
+                                <widget class="QSpinBox" row="1" column="3">
+                                    <property name="name">
+                                        <cstring>SpinBox5</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>7</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                </widget>
+                                <widget class="QCheckBox" row="2"
+                               column="2" rowspan="1" colspan="2">
+                                    <property name="name">
+                                        <cstring>CheckBox1</cstring>
+                                    </property>
+                                    <property name="text">
+                                       <string></string>
+                                    </property>
+                                </widget>
+                            </grid>
+                        </widget>
+                        <spacer row="2" column="2">
+                            <property name="name">
+                                <cstring>Spacer6</cstring>
+                            </property>
+                            <property name="orientation">
+                                <enum>Vertical</enum>
+                            </property>
+                            <property name="sizeType">
+                                <enum>Expanding</enum>
+                            </property>
+                            <property name="sizeHint">
+                                <size>
+                                    <width>0</width>
+                                    <height>120</height>
+                                </size>
+                            </property>
+                        </spacer>
+                        <widget class="QLineEdit" row="0" column="2">
+                            <property name="name">
+                                <cstring>LineEdit1</cstring>
+                            </property>
+                        </widget>
+                    </grid>
+                </widget>
+            </grid>
+        </widget>
+    </grid>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
index d7a050dfd9abebd9683764ac530e9026ea2c1f60..60e5b024dc3e83880b3f61638eac3313994c70d6 100755 (executable)
@@ -42,6 +42,9 @@
 #uic -o DlgRef_1Sel5Spin_QTD.h DlgRef_1Sel5Spin_QTD.ui
 #uic -o DlgRef_1Sel5Spin_QTD.cxx -impl DlgRef_1Sel5Spin_QTD.h DlgRef_1Sel5Spin_QTD.ui
 
+#uic -o DlgRef_1Sel5Spin1Check_QTD.h DlgRef_1Sel5Spin1Check_QTD.ui
+#uic -o DlgRef_1Sel5Spin1Check_QTD.cxx -impl DlgRef_1Sel5Spin1Check_QTD.h DlgRef_1Sel5Spin1Check_QTD.ui
+
 #uic -o DlgRef_1Sel1Check_QTD.h DlgRef_1Sel1Check_QTD.ui
 #uic -o DlgRef_1Sel1Check_QTD.cxx -impl DlgRef_1Sel1Check_QTD.h DlgRef_1Sel1Check_QTD.ui
 
index 5e85a61954defd7241b599c291ec8928dfcbf135..f07429df9bb4b351530f3f42f32b9a1864be0736 100644 (file)
@@ -3014,7 +3014,8 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeFilling(GEOM::GEOM_Shape_ptr myShape,
                                       CORBA::Short maxdeg,
                                       CORBA::Double tol3d,
                                       CORBA::Double tol2d,
-                                      CORBA::Short nbiter)
+                                      CORBA::Short nbiter,
+                                      CORBA::Boolean theApprox)
   throw (SALOME::SALOME_Exception)
 {
   Unexpect aCatch(SALOME_SalomeException);
@@ -3053,7 +3054,7 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeFilling(GEOM::GEOM_Shape_ptr myShape,
     Handle(GeomFill_Line) Line = new GeomFill_Line(i) ;
     
     GeomFill_AppSurf App(mindeg, maxdeg, tol3d, tol2d, nbiter) ; /* user parameters */
-    App.Perform(Line, Section) ;
+    App.Perform(Line, Section, theApprox) ;
     
     if (!App.IsDone()) {
       THROW_SALOME_CORBA_EXCEPTION("Filling aborted : non valid shape result", SALOME::BAD_PARAM);
index 7a4a29d8d222993273b02975081c52f2c53cdcc6..11e004ab0f7f12104eaa64f788b411aa7751a0dc 100644 (file)
@@ -1012,6 +1012,10 @@ msgstr "Tol. 3D :"
 msgid "GEOM_FILLING_NB_ITER"
 msgstr "Nb. Iter :"
 
+#: GeometryGUI_FillingDlg.cxx:84
+msgid "GEOM_FILLING_APPROX"
+msgstr "Approximation"
+
 #: GeometryGUI_FuseDlg.cxx:48
 msgid "GEOM_FUSE_TITLE"
 msgstr "BOOLEAN : Fuse Two Objects"
index f37a2176ac618bf4dac1aeabbdc8e6a44a29c70b..d17febfd2406184c13cafbb5d5e9bf3efad2d902 100644 (file)
@@ -88,6 +88,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
   Standard_Real tol3d = IF.GetTol2D();
   Standard_Real tol2d = IF.GetTol3D();
   Standard_Integer nbiter = IF.GetNbIter();
+  Standard_Boolean isApprox = IF.GetApprox();
 
   if (mindeg > maxdeg) {
     Standard_RangeError::Raise("Minimal degree can not be more than maximal degree");
@@ -115,7 +116,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
   Handle(GeomFill_Line) Line = new GeomFill_Line(i);
 
   GeomFill_AppSurf App (mindeg, maxdeg, tol3d, tol2d, nbiter); /* user parameters */
-  App.Perform(Line, Section);
+  App.Perform(Line, Section, isApprox);
 
   if (!App.IsDone()) return 0;
   Standard_Integer UDegree, VDegree, NbUPoles, NbVPoles, NbUKnots, NbVKnots;
index 6eefda984d37440e759d320cfa42e569db60bb7b..a1c554544528d6aa825ae2b810144f72ca162eb0 100644 (file)
@@ -1110,7 +1110,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeSolidShell (Handle(GEOM_Obje
 //=============================================================================
 Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
        (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg,
-        double theTol2D, double theTol3D, int theNbIter)
+        double theTol2D, double theTol3D, int theNbIter, bool isApprox)
 {
   SetErrorCode(KO);
 
@@ -1138,6 +1138,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
   aFI.SetTol2D(theTol2D);
   aFI.SetTol3D(theTol3D);
   aFI.SetNbIter(theNbIter);
+  aFI.SetApprox(isApprox);
 
   //Compute the Solid value
   try {
@@ -1159,9 +1160,13 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling
   }
 
   //Make a Python command
-  GEOM::TPythonDump(aFunction) << aFilling << " = geompy.MakeFilling("
+  GEOM::TPythonDump pd (aFunction);
+  pd << aFilling << " = geompy.MakeFilling("
     << theShape << ", " << theMinDeg << ", " << theMaxDeg << ", "
-      << theTol2D << ", " << theTol3D << ", " << theNbIter << ")";
+      << theTol2D << ", " << theTol3D << ", " << theNbIter;
+  if(isApprox)
+    pd << ", " << isApprox;
+  pd << ")";
 
   SetErrorCode(OK);
   return aFilling;
index f87ddd5d500a599cfc5e318da3c1f992d94dfa50..5f1f52f36411681bc3dcef256689134ea7fa8dfe 100644 (file)
@@ -83,7 +83,7 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations {
 
   Standard_EXPORT Handle(GEOM_Object) MakeSolidShell (Handle(GEOM_Object) theShell);
 
-  Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, double theTol2D, double theTol3D, int theNbIter);
+  Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, double theTol2D, double theTol3D, int theNbIter, bool isApprox);
 
   Standard_EXPORT Handle(GEOM_Object) MakeThruSections(const Handle(TColStd_HSequenceOfTransient)& theSeqSections,
                                                       bool theModeSolid,
index d4269bf1911dde4a601d6da9ccdca1721c6e9be8..f8fbae6454f280a4780f855f5ca28210ac74fa81 100644 (file)
@@ -28,6 +28,7 @@
 #define FILL_ARG_TOL3D    4
 #define FILL_ARG_SHAPE    5
 #define FILL_ARG_NBITER   6
+#define FILL_ARG_APPROX   7
 
 class GEOMImpl_IFilling
 {
@@ -47,6 +48,9 @@ class GEOMImpl_IFilling
   void SetNbIter(int theNbIter) { _func->SetInteger(FILL_ARG_NBITER, theNbIter); }
   int GetNbIter() { return _func->GetInteger(FILL_ARG_NBITER); } 
 
+  void SetApprox(bool theApprox) { _func->SetInteger(FILL_ARG_APPROX, theApprox); }
+  bool GetApprox() { return _func->GetInteger(FILL_ARG_APPROX); } 
+
   void SetShape(Handle(GEOM_Function) theShape) { _func->SetReference(FILL_ARG_SHAPE, theShape); }
   Handle(GEOM_Function) GetShape() { return _func->GetReference(FILL_ARG_SHAPE); }
 
index 207c997080acdfe45d84bd6841c57d651306cb89..55160f0fb836aaf88279c1fc7422fee5263b77f0 100644 (file)
@@ -567,7 +567,8 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt
                                                            CORBA::Long theMaxDeg,
                                                            CORBA::Double theTol2D,
                                                            CORBA::Double theTol3D,
-                                                           CORBA::Long theNbIter)
+                                                           CORBA::Long theNbIter,
+                                                           CORBA::Boolean theApprox)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
@@ -583,7 +584,7 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt
   if (aShape.IsNull()) return aGEOMObject._retn();
 
   //Create the Solid
-  Handle(GEOM_Object) anObject = GetOperations()->MakeFilling(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
+  Handle(GEOM_Object) anObject = GetOperations()->MakeFilling(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
index f0397e5e9265d7ddf495bf064d176dbb429a4bba..330f4974b59b5300cb2d17321c46ed2b5da296be 100644 (file)
@@ -105,7 +105,7 @@ class GEOM_I_EXPORT GEOM_I3DPrimOperations_i :
                                                      GEOM::GEOM_Object_ptr theAxis,
                                                      CORBA::Double theAngle);
 
-  GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter);
+  GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter, CORBA::Boolean theApprox);
 
   GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
                                         CORBA::Boolean theModeSolid,
index ba79c1791c032c89613e98dff41a4a8d562774d3..520fbc2fe4bde0ec244836d3f5ab3e89d613d5fc 100644 (file)
@@ -1019,12 +1019,12 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Ob
 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
                                                  CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
                                                  CORBA::Double theTol2D, CORBA::Double theTol3D,
-                                                 CORBA::Long theNbIter)
+                                                 CORBA::Long theNbIter, CORBA::Boolean theApprox)
 {
   beginService( " GEOM_Superv_i::MakeFilling" );
   MESSAGE("GEOM_Superv_i::MakeFilling");
   get3DPrimOp();
-  GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
+  GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
   endService( " GEOM_Superv_i::MakeFilling" );
   return anObj;
 }
index 18993469fa37d23878431c6dd28e4e29ba26e516..3cb1ffd2520e892aa713092fbc4b7305e84686a8 100644 (file)
@@ -237,7 +237,7 @@ public:
   GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
                                     CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
                                     CORBA::Double theTol2D, CORBA::Double theTol3D,
-                                    CORBA::Long theNbIter);
+                                    CORBA::Long theNbIter, CORBA::Boolean theApprox);
 
   GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
                                         CORBA::Boolean theModeSolid,
index 6485368cfe40729cd577b809f0bf3ca1cdf0a10b..3ca8d022fa5eb4f14465f12013d29fa760044fc5 100644 (file)
@@ -700,8 +700,8 @@ def MakeCopy(aShape):
       print "MakeCopy : ", InsertOp.GetErrorCode()
     return anObj
 
-def MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter):
-    anObj = PrimOp.MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter)
+def MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter,isApprox=0):
+    anObj = PrimOp.MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter,isApprox)
     if PrimOp.IsDone() == 0:
       print "MakeFilling : ", PrimOp.GetErrorCode()
     return anObj
index 415ff983baf4fab07e3b064ff80aa1dd9ff1804d..2f37c4e86c241faa2bde0a99054000c992adbefb 100644 (file)
@@ -1379,8 +1379,8 @@ class geompyDC(GEOM._objref_GEOM_Gen):
         #  @return New GEOM_Object, containing the created filling surface.
         #
         #  Example: see GEOM_TestAll.py
-        def MakeFilling(self,theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter):
-            anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter)
+        def MakeFilling(self,theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox=0):
+            anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox)
             RaiseIfFailed("MakeFilling", self.PrimOp)
             return anObj
         
index 64d13f3e724c3a37986b7e2db40dccd77a1de229..9f6bc2c60865139fd146f6d8a00b83f82ef4d92a 100644 (file)
@@ -46,6 +46,7 @@
 #include "GEOMImpl_Types.hxx"
 
 #include <qlabel.h>
+#include <qcheckbox.h>
 
 #include "utilities.h"
 
@@ -72,7 +73,7 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI,
   RadioButton2->close(TRUE);
   RadioButton3->close(TRUE);
 
-  GroupPoints = new DlgRef_1Sel5Spin(this, "GroupPoints");
+  GroupPoints = new DlgRef_1Sel5Spin1Check(this, "GroupPoints");
   GroupPoints->GroupBox1->setTitle(tr("GEOM_ARGUMENTS"));
   GroupPoints->TextLabel1->setText(tr("GEOM_FILLING_COMPOUND"));
   GroupPoints->TextLabel2->setText(tr("GEOM_FILLING_MIN_DEG"));
@@ -80,13 +81,14 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI,
   GroupPoints->TextLabel4->setText(tr("GEOM_FILLING_NB_ITER"));
   GroupPoints->TextLabel5->setText(tr("GEOM_FILLING_MAX_DEG"));
   GroupPoints->TextLabel6->setText(tr("GEOM_FILLING_TOL_3D"));
+  GroupPoints->CheckBox1->setText(tr("GEOM_FILLING_APPROX"));
   GroupPoints->PushButton1->setPixmap(image1);
   GroupPoints->LineEdit1->setReadOnly( true );
 
   Layout1->addWidget(GroupPoints, 2, 0);
   /***************************************************************/
 
-  setHelpFileName("creaet_filling_page.html");
+  setHelpFileName("create_filling_page.html");
 
   /* Initialisations */
   Init();
@@ -116,6 +118,7 @@ void GenerationGUI_FillingDlg::Init()
   myTol3D = 0.0001;
   myTol2D = 0.0001;
   myNbIter = 5;
+  myIsApprox = false;
   myOkCompound = false;
 
   globalSelection( GEOM_COMPOUND );
@@ -147,6 +150,7 @@ void GenerationGUI_FillingDlg::Init()
   connect(GroupPoints->SpinBox_3, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
   connect(GroupPoints->SpinBox_4, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
   connect(GroupPoints->SpinBox_5, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
+  connect(GroupPoints->CheckBox1, SIGNAL(stateChanged(int)), this, SLOT(ApproxChanged()));
 
   connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_1, SLOT(SetStep(double)));
   connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_2, SLOT(SetStep(double)));
@@ -309,6 +313,16 @@ void GenerationGUI_FillingDlg::ValueChangedInSpinBox(double newValue)
   displayPreview();
 }
 
+//=================================================================================
+// function : ApproxChanged()
+// purpose  :
+//=================================================================================
+void GenerationGUI_FillingDlg::ApproxChanged()
+{
+  myIsApprox = GroupPoints->CheckBox1->isChecked();
+  displayPreview();
+}
+
 //=================================================================================
 // function : createOperation
 // purpose  :
@@ -336,7 +350,7 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
   GEOM::GEOM_Object_var anObj;
 
   anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakeFilling(
-    myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter );
+         myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox );
 
   if ( !anObj->_is_nil() )
     objects.push_back( anObj._retn() );
index e4691b97e21bc00597a94de0f0d7547994b864eb..67d70b83716325a4363089db7f867081778209d7 100644 (file)
@@ -31,7 +31,7 @@
 #include "GenerationGUI.h"
 
 #include "GEOMBase_Skeleton.h"
-#include "DlgRef_1Sel5Spin.h"
+#include "DlgRef_1Sel5Spin1Check.h"
 
 //=================================================================================
 // class    : GenerationGUI_FillingDlg
@@ -62,9 +62,10 @@ private:
     Standard_Real myTol3D;
     Standard_Real myTol2D;
     Standard_Integer myNbIter;
+    bool myIsApprox;
     bool myOkCompound;         /* to check when curv. compound is defined */
 
-    DlgRef_1Sel5Spin* GroupPoints;
+    DlgRef_1Sel5Spin1Check* GroupPoints;
 
 private slots:
     void ClickOnOk();
@@ -74,6 +75,7 @@ private slots:
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
     void ValueChangedInSpinBox(double newValue);
+    void ApproxChanged();
 };
 
 #endif // DIALOGBOX_FILLING_H