mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-01-31 03:10:33 +05:00
Dump Python extension
This commit is contained in:
parent
a83d11fd0f
commit
a5e6595533
@ -365,8 +365,12 @@ GEOM::GEOM_IOperations_ptr BlocksGUI_ExplodeDlg::createOperation()
|
|||||||
// function : isValid()
|
// function : isValid()
|
||||||
// purpose : Verify validity of input data
|
// purpose : Verify validity of input data
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool BlocksGUI_ExplodeDlg::isValid (QString&)
|
bool BlocksGUI_ExplodeDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
|
bool okSP = true;
|
||||||
|
okSP = myGrp1->SpinBox1->isValid( msg, !IsPreview() ) && okSP;
|
||||||
|
okSP = myGrp1->SpinBox2->isValid( msg, !IsPreview() ) && okSP;
|
||||||
|
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
switch ( getConstructorId() ) {
|
switch ( getConstructorId() ) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -385,7 +389,7 @@ bool BlocksGUI_ExplodeDlg::isValid (QString&)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok && okSP;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -420,6 +424,10 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
|
|||||||
return objects.size() > 0;
|
return objects.size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << myGrp1->SpinBox1->text();
|
||||||
|
aParameters << myGrp1->SpinBox2->text();
|
||||||
|
|
||||||
// Throw away sub-shapes not selected by user if not in preview mode
|
// Throw away sub-shapes not selected by user if not in preview mode
|
||||||
// and manual selection is active
|
// and manual selection is active
|
||||||
if ( !isAllSubShapes() ) {
|
if ( !isAllSubShapes() ) {
|
||||||
@ -441,7 +449,10 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
|
|||||||
for ( anIter = myTmpObjs.begin(); anIter != myTmpObjs.end(); ++anIter ) {
|
for ( anIter = myTmpObjs.begin(); anIter != myTmpObjs.end(); ++anIter ) {
|
||||||
CORBA::String_var objStr = myGeomGUI->getApp()->orb()->object_to_string( *anIter );
|
CORBA::String_var objStr = myGeomGUI->getApp()->orb()->object_to_string( *anIter );
|
||||||
if ( selected.contains( QString( objStr.in() ) ) )
|
if ( selected.contains( QString( objStr.in() ) ) )
|
||||||
|
{
|
||||||
|
(*anIter)->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
objects.push_back( *anIter );
|
objects.push_back( *anIter );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
toRemoveFromEngine.push_back( *anIter );
|
toRemoveFromEngine.push_back( *anIter );
|
||||||
}
|
}
|
||||||
@ -456,7 +467,11 @@ bool BlocksGUI_ExplodeDlg::execute( ObjectList& objects )
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for ( int i = 0, n = aList->length(); i < n; i++ )
|
for ( int i = 0, n = aList->length(); i < n; i++ )
|
||||||
objects.push_back( GEOM::GEOM_Object::_duplicate( aList[i] ) );
|
{
|
||||||
|
GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate( aList[i] );
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return objects.size();
|
return objects.size();
|
||||||
|
@ -111,7 +111,7 @@ void BlocksGUI_TrsfDlg::Init()
|
|||||||
{
|
{
|
||||||
// Set range of spinboxes
|
// Set range of spinboxes
|
||||||
double SpecificStep = 1.0;
|
double SpecificStep = 1.0;
|
||||||
QMap<int, QDoubleSpinBox*>::iterator anIter;
|
QMap<int, SalomeApp_DoubleSpinBox*>::iterator anIter;
|
||||||
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
|
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
|
||||||
//anIter.data()->RangeStepAndValidator(1.0, 999.999, SpecificStep, 3);
|
//anIter.data()->RangeStepAndValidator(1.0, 999.999, SpecificStep, 3);
|
||||||
initSpinBox(anIter.value(), 1.0, MAX_NUMBER, SpecificStep, 3);
|
initSpinBox(anIter.value(), 1.0, MAX_NUMBER, SpecificStep, 3);
|
||||||
@ -127,7 +127,7 @@ void BlocksGUI_TrsfDlg::Init()
|
|||||||
for (anIterBtn = mySelBtn.begin(); anIterBtn != mySelBtn.end(); ++anIterBtn)
|
for (anIterBtn = mySelBtn.begin(); anIterBtn != mySelBtn.end(); ++anIterBtn)
|
||||||
connect(anIterBtn.value(), SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
connect(anIterBtn.value(), SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
|
||||||
|
|
||||||
QMap<int, QDoubleSpinBox*>::iterator anIterSpin;
|
QMap<int, SalomeApp_DoubleSpinBox*>::iterator anIterSpin;
|
||||||
for (anIterSpin = mySpinBox.begin(); anIterSpin != mySpinBox.end(); ++anIterSpin)
|
for (anIterSpin = mySpinBox.begin(); anIterSpin != mySpinBox.end(); ++anIterSpin)
|
||||||
connect(anIterSpin.value(), SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
connect(anIterSpin.value(), SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
|
|
||||||
@ -449,7 +449,7 @@ void BlocksGUI_TrsfDlg::createSpinWg (const QString& theLbl,
|
|||||||
const int theId)
|
const int theId)
|
||||||
{
|
{
|
||||||
QLabel* lab = new QLabel(theLbl, theParent);
|
QLabel* lab = new QLabel(theLbl, theParent);
|
||||||
mySpinBox[theId] = new QDoubleSpinBox(theParent);
|
mySpinBox[theId] = new SalomeApp_DoubleSpinBox(theParent);
|
||||||
QGridLayout* l = 0;
|
QGridLayout* l = 0;
|
||||||
if (!theParent->layout()) {
|
if (!theParent->layout()) {
|
||||||
l = new QGridLayout(theParent);
|
l = new QGridLayout(theParent);
|
||||||
@ -546,20 +546,23 @@ GEOM::GEOM_IOperations_ptr BlocksGUI_TrsfDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose : Verify validity of input data
|
// purpose : Verify validity of input data
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool BlocksGUI_TrsfDlg::isValid (QString&)
|
bool BlocksGUI_TrsfDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false, okSP = true;
|
||||||
switch (getConstructorId()) {
|
switch (getConstructorId()) {
|
||||||
case 0:
|
case 0:
|
||||||
ok = !myShape->_is_nil() && myFaces[Face1] > 0;
|
ok = !myShape->_is_nil() && myFaces[Face1] > 0;
|
||||||
|
okSP = mySpinBox[SpinBox1]->isValid( msg, !IsPreview() );
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
ok = !myShape->_is_nil() && myFaces[Face1U] > 0 && myFaces[Face1V] > 0;
|
ok = !myShape->_is_nil() && myFaces[Face1U] > 0 && myFaces[Face1V] > 0;
|
||||||
|
okSP = mySpinBox[SpinBox2U]->isValid( msg, !IsPreview() ) && okSP;
|
||||||
|
okSP = mySpinBox[SpinBox2V]->isValid( msg, !IsPreview() ) && okSP;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ok;
|
return ok && okSP;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -578,6 +581,13 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
|
|||||||
MakeMultiTransformation1D(myShape,
|
MakeMultiTransformation1D(myShape,
|
||||||
myFaces[Face1], myFaces[Face2],
|
myFaces[Face1], myFaces[Face2],
|
||||||
(int)mySpinBox[SpinBox1]->value());
|
(int)mySpinBox[SpinBox1]->value());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << "" << "";
|
||||||
|
aParameters << mySpinBox[SpinBox1]->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@ -587,6 +597,15 @@ bool BlocksGUI_TrsfDlg::execute (ObjectList& objects)
|
|||||||
(int)mySpinBox[SpinBox2U]->value(),
|
(int)mySpinBox[SpinBox2U]->value(),
|
||||||
myFaces[Face1V], myFaces[Face2V],
|
myFaces[Face1V], myFaces[Face2V],
|
||||||
(int)mySpinBox[SpinBox2V]->value());
|
(int)mySpinBox[SpinBox2V]->value());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << "" << "";
|
||||||
|
aParameters << mySpinBox[SpinBox2U]->text();
|
||||||
|
aParameters << "" << "";
|
||||||
|
aParameters << mySpinBox[SpinBox2V]->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
@ -78,7 +78,7 @@ private:
|
|||||||
|
|
||||||
QMap<int, QPushButton*> mySelBtn;
|
QMap<int, QPushButton*> mySelBtn;
|
||||||
QMap<int, QLineEdit*> mySelName;
|
QMap<int, QLineEdit*> mySelName;
|
||||||
QMap<int, QDoubleSpinBox*> mySpinBox;
|
QMap<int, SalomeApp_DoubleSpinBox*> mySpinBox;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void ClickOnOk();
|
void ClickOnOk();
|
||||||
|
@ -35,10 +35,10 @@
|
|||||||
<widget class="QTextBrowser" name="TextBrowser1" />
|
<widget class="QTextBrowser" name="TextBrowser1" />
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2" >
|
<item row="2" column="2" >
|
||||||
<widget class="QSpinBox" name="SpinBox2" />
|
<widget class="SalomeApp_IntSpinBox" name="SpinBox2" />
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2" >
|
<item row="1" column="2" >
|
||||||
<widget class="QSpinBox" name="SpinBox1" />
|
<widget class="SalomeApp_IntSpinBox" name="SpinBox1" />
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0" colspan="3" >
|
<item row="4" column="0" colspan="3" >
|
||||||
<widget class="QCheckBox" name="CheckBox1" >
|
<widget class="QCheckBox" name="CheckBox1" >
|
||||||
@ -126,6 +126,13 @@
|
|||||||
</widget>
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11" />
|
<layoutdefault spacing="6" margin="11" />
|
||||||
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>SalomeApp_IntSpinBox</class>
|
||||||
|
<extends>QSpinBox</extends>
|
||||||
|
<header location="global" >SalomeApp_IntSpinBox.h</header>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>PushButton1</tabstop>
|
<tabstop>PushButton1</tabstop>
|
||||||
<tabstop>LineEdit1</tabstop>
|
<tabstop>LineEdit1</tabstop>
|
||||||
|
@ -56,13 +56,13 @@
|
|||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="2" column="1" colspan="2" >
|
<item row="2" column="1" colspan="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DY" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DY" />
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1" colspan="2" >
|
<item row="3" column="1" colspan="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DZ" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DZ" />
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1" colspan="2" >
|
<item row="1" column="1" colspan="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DX" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DX" />
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0" colspan="2" >
|
<item row="4" column="0" colspan="2" >
|
||||||
<widget class="QCheckBox" name="CheckButton1" >
|
<widget class="QCheckBox" name="CheckButton1" >
|
||||||
@ -160,9 +160,9 @@
|
|||||||
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QtxDoubleSpinBox</class>
|
<class>SalomeApp_DoubleSpinBox</class>
|
||||||
<extends>QDoubleSpinBox</extends>
|
<extends>QDoubleSpinBox</extends>
|
||||||
<header location="global" >QtxDoubleSpinBox.h</header>
|
<header location="global" >SalomeApp_DoubleSpinBox.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
@ -82,7 +82,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="1" >
|
<item row="0" column="1" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox1" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox1" />
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2" >
|
<item row="0" column="2" >
|
||||||
<widget class="QLabel" name="TextLabel3" >
|
<widget class="QLabel" name="TextLabel3" >
|
||||||
@ -101,7 +101,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="3" >
|
<item row="0" column="3" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox2" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox2" />
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" >
|
<item row="1" column="0" >
|
||||||
<widget class="QLabel" name="TextLabel5" >
|
<widget class="QLabel" name="TextLabel5" >
|
||||||
@ -120,7 +120,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1" >
|
<item row="1" column="1" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox4" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox4" />
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2" >
|
<item row="1" column="2" >
|
||||||
<widget class="QLabel" name="TextLabel6" >
|
<widget class="QLabel" name="TextLabel6" >
|
||||||
@ -139,7 +139,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="3" >
|
<item row="1" column="3" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox5" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox5" />
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0" >
|
<item row="2" column="0" >
|
||||||
<widget class="QLabel" name="TextLabel4" >
|
<widget class="QLabel" name="TextLabel4" >
|
||||||
@ -158,7 +158,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1" >
|
<item row="2" column="1" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox3" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox3" />
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2" colspan="2" >
|
<item row="2" column="2" colspan="2" >
|
||||||
<widget class="QCheckBox" name="CheckBox1" >
|
<widget class="QCheckBox" name="CheckBox1" >
|
||||||
@ -176,9 +176,9 @@
|
|||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QtxDoubleSpinBox</class>
|
<class>SalomeApp_DoubleSpinBox</class>
|
||||||
<extends>QDoubleSpinBox</extends>
|
<extends>QDoubleSpinBox</extends>
|
||||||
<header location="global" >QtxDoubleSpinBox.h</header>
|
<header location="global" >SalomeApp_DoubleSpinBox.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="2" column="1" colspan="2" >
|
<item row="2" column="1" colspan="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DX" >
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DX" >
|
||||||
<property name="sizePolicy" >
|
<property name="sizePolicy" >
|
||||||
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
|
<sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
@ -174,9 +174,9 @@
|
|||||||
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QtxDoubleSpinBox</class>
|
<class>SalomeApp_DoubleSpinBox</class>
|
||||||
<extends>QDoubleSpinBox</extends>
|
<extends>QDoubleSpinBox</extends>
|
||||||
<header location="global" >QtxDoubleSpinBox.h</header>
|
<header location="global" >SalomeApp_DoubleSpinBox.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
@ -128,7 +128,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2" >
|
<item row="2" column="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DX" />
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DX" />
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0" >
|
<item row="3" column="0" >
|
||||||
<widget class="QRadioButton" name="RadioButton2" >
|
<widget class="QRadioButton" name="RadioButton2" >
|
||||||
@ -154,7 +154,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="2" >
|
<item row="3" column="2" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DY" >
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DY" >
|
||||||
<property name="enabled" >
|
<property name="enabled" >
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
@ -177,7 +177,7 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="4" >
|
<item row="3" column="4" >
|
||||||
<widget class="QtxDoubleSpinBox" name="SpinBox_DZ" >
|
<widget class="SalomeApp_DoubleSpinBox" name="SpinBox_DZ" >
|
||||||
<property name="enabled" >
|
<property name="enabled" >
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
@ -190,9 +190,9 @@
|
|||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>QtxDoubleSpinBox</class>
|
<class>SalomeApp_DoubleSpinBox</class>
|
||||||
<extends>QDoubleSpinBox</extends>
|
<extends>QDoubleSpinBox</extends>
|
||||||
<header location="global" >QtxDoubleSpinBox.h</header>
|
<header location="global" >SalomeApp_DoubleSpinBox.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
@ -63,6 +63,8 @@
|
|||||||
#define COMMA ','
|
#define COMMA ','
|
||||||
#define O_BRACKET '('
|
#define O_BRACKET '('
|
||||||
#define C_BRACKET ')'
|
#define C_BRACKET ')'
|
||||||
|
#define O_SQR_BRACKET '['
|
||||||
|
#define C_SQR_BRACKET ']'
|
||||||
#define PY_NULL "None"
|
#define PY_NULL "None"
|
||||||
|
|
||||||
#ifdef _DEBUG_
|
#ifdef _DEBUG_
|
||||||
@ -778,8 +780,8 @@ Handle(TColStd_HSequenceOfInteger) FindEntries(TCollection_AsciiString& theStrin
|
|||||||
void ReplaceVariables(TCollection_AsciiString& theCommand,
|
void ReplaceVariables(TCollection_AsciiString& theCommand,
|
||||||
TVariablesList theVariables)
|
TVariablesList theVariables)
|
||||||
{
|
{
|
||||||
//Get Entry of the result object
|
if (MYDEBUG)
|
||||||
TCollection_AsciiString anEntry = theCommand.Token("=",1);
|
cout<<"Command : "<<theCommand<<endl;
|
||||||
|
|
||||||
if (MYDEBUG) {
|
if (MYDEBUG) {
|
||||||
cout<<"All Entries:"<<endl;
|
cout<<"All Entries:"<<endl;
|
||||||
@ -788,12 +790,42 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
|
|||||||
cout<<"\t'"<<(*it).first<<"'"<<endl;
|
cout<<"\t'"<<(*it).first<<"'"<<endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Additional case - multi-row commands
|
||||||
|
int aCommandIndex = 1;
|
||||||
|
while( aCommandIndex < 10 ) { // tmp check
|
||||||
|
TCollection_AsciiString aCommand = theCommand.Token("\n",aCommandIndex);
|
||||||
|
if( aCommand.Length() == 0 )
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (MYDEBUG)
|
||||||
|
cout<<"Sub-command : "<<aCommand<<endl;
|
||||||
|
|
||||||
|
Standard_Integer aStartCommandPos = theCommand.Location(aCommand,1,theCommand.Length());
|
||||||
|
Standard_Integer aEndCommandPos = aStartCommandPos + aCommand.Length();
|
||||||
|
|
||||||
|
//Get Entry of the result object
|
||||||
|
TCollection_AsciiString anEntry = aCommand.Token("=",1);
|
||||||
|
|
||||||
//Remove white spaces
|
//Remove white spaces
|
||||||
anEntry.RightAdjust();
|
anEntry.RightAdjust();
|
||||||
anEntry.LeftAdjust();
|
anEntry.LeftAdjust();
|
||||||
if(MYDEBUG)
|
if(MYDEBUG)
|
||||||
cout<<"Result entry : '" <<anEntry<<"'"<<endl;
|
cout<<"Result entry : '" <<anEntry<<"'"<<endl;
|
||||||
|
|
||||||
|
//Check if result is list of entries - enough to get the first entry in this case
|
||||||
|
int aNbEntries = 1;
|
||||||
|
if( anEntry.Value( 1 ) == O_SQR_BRACKET && anEntry.Value( anEntry.Length() ) == C_SQR_BRACKET ) {
|
||||||
|
while(anEntry.Location(aNbEntries,COMMA,1,anEntry.Length()))
|
||||||
|
aNbEntries++;
|
||||||
|
TCollection_AsciiString aSeparator(COMMA);
|
||||||
|
anEntry = anEntry.Token(aSeparator.ToCString(),1);
|
||||||
|
anEntry.Remove( 1, 1 );
|
||||||
|
anEntry.RightAdjust();
|
||||||
|
anEntry.LeftAdjust();
|
||||||
|
if(MYDEBUG)
|
||||||
|
cout<<"Sub-entry : '" <<anEntry<<"'"<<endl;
|
||||||
|
}
|
||||||
|
|
||||||
//Find variables used for object construction
|
//Find variables used for object construction
|
||||||
vector<TVariable> aVariables;
|
vector<TVariable> aVariables;
|
||||||
TVariablesList::const_iterator it = theVariables.find(anEntry);
|
TVariablesList::const_iterator it = theVariables.find(anEntry);
|
||||||
@ -803,64 +835,77 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
|
|||||||
if(aVariables.empty()) {
|
if(aVariables.empty()) {
|
||||||
if(MYDEBUG)
|
if(MYDEBUG)
|
||||||
cout<<"Valiables list empty!!!"<<endl;
|
cout<<"Valiables list empty!!!"<<endl;
|
||||||
return;
|
aCommandIndex++;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(MYDEBUG) {
|
if(MYDEBUG) {
|
||||||
cout<<"Variables from SObject:"<<endl;
|
cout<<"Variables from SObject:"<<endl;
|
||||||
for (int i = 0; i < aVariables.size();i++)
|
for (int i = 0; i < aVariables.size();i++)
|
||||||
cout<<"\t Variable["<<i<<"]"<<aVariables[i].myVariable<<endl;
|
cout<<"\t Variable["<<i<<"] = "<<aVariables[i].myVariable<<endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Calculate total number of parameter
|
//Calculate total number of parameters
|
||||||
Standard_Integer aTotalNbParams = 1;
|
Standard_Integer aTotalNbParams = 1;
|
||||||
while(theCommand.Location(aTotalNbParams,COMMA,1,theCommand.Length()))
|
while(aCommand.Location(aTotalNbParams,COMMA,1,aCommand.Length()))
|
||||||
aTotalNbParams++;
|
aTotalNbParams++;
|
||||||
|
|
||||||
|
if(MYDEBUG)
|
||||||
|
cout<<"aTotalNbParams = "<<aTotalNbParams<<endl;
|
||||||
|
|
||||||
|
Standard_Integer aFirstParam = aNbEntries;
|
||||||
|
|
||||||
//Replace parameters by variables
|
//Replace parameters by variables
|
||||||
Standard_Integer aStartPos = 0;
|
Standard_Integer aStartPos = 0;
|
||||||
Standard_Integer aEndPos = 0;
|
Standard_Integer aEndPos = 0;
|
||||||
int iVar = 0;
|
int iVar = 0;
|
||||||
TCollection_AsciiString aReplasedVar, aVar;
|
TCollection_AsciiString aReplasedVar, aVar;
|
||||||
for(Standard_Integer i=1;i <= aTotalNbParams;i++) {
|
for(Standard_Integer i=aFirstParam;i <= aTotalNbParams;i++) {
|
||||||
|
|
||||||
//Replace first parameter (bettwen '(' character and first ',' character)
|
//Replace first parameter (bettwen '(' character and first ',' character)
|
||||||
if(i == 1)
|
if(i == aFirstParam)
|
||||||
{
|
{
|
||||||
aStartPos = theCommand.Location(O_BRACKET, 1, theCommand.Length()) + 1;
|
aStartPos = aCommand.Location(O_BRACKET, 1, aCommand.Length()) + 1;
|
||||||
if(aTotalNbParams != 1 )
|
if(aTotalNbParams - aNbEntries > 0 )
|
||||||
aEndPos = theCommand.Location(COMMA, 1, theCommand.Length());
|
aEndPos = aCommand.Location(aFirstParam, COMMA, 1, aCommand.Length());
|
||||||
else
|
else
|
||||||
aEndPos = theCommand.Location(C_BRACKET, 1, theCommand.Length());
|
aEndPos = aCommand.Location(C_BRACKET, 1, aCommand.Length());
|
||||||
}
|
}
|
||||||
//Replace last parameter (bettwen ',' character and ')' character)
|
//Replace last parameter (bettwen ',' character and ')' character)
|
||||||
else if(i == aTotalNbParams)
|
else if(i == aTotalNbParams)
|
||||||
{
|
{
|
||||||
aStartPos = theCommand.Location(i-1, COMMA, 1, theCommand.Length()) + 2;
|
aStartPos = aCommand.Location(i-1, COMMA, 1, aCommand.Length()) + 2;
|
||||||
aEndPos = theCommand.Location(C_BRACKET, 1, theCommand.Length());
|
aEndPos = aCommand.Location(C_BRACKET, 1, aCommand.Length());
|
||||||
}
|
}
|
||||||
//Replace other parameters (bettwen two ',' characters)
|
//Replace other parameters (bettwen two ',' characters)
|
||||||
else if(i != 1 && i != aTotalNbParams )
|
else if(i != aFirstParam && i != aTotalNbParams )
|
||||||
{
|
{
|
||||||
aStartPos = theCommand.Location(i-1, COMMA, 1, theCommand.Length()) + 2;
|
aStartPos = aCommand.Location(i-1, COMMA, 1, aCommand.Length()) + 2;
|
||||||
aEndPos = theCommand.Location(i, COMMA, 1, theCommand.Length());
|
aEndPos = aCommand.Location(i, COMMA, 1, aCommand.Length());
|
||||||
}
|
}
|
||||||
aVar = theCommand.SubString(aStartPos, aEndPos-1);
|
|
||||||
if(MYDEBUG)
|
|
||||||
cout<<"Current variable 1: '"<< aVar <<"'"<<endl;
|
|
||||||
|
|
||||||
|
if( aCommand.Value( aStartPos ) == O_SQR_BRACKET )
|
||||||
|
aStartPos++;
|
||||||
|
if( aCommand.Value( aEndPos-1 ) == C_SQR_BRACKET )
|
||||||
|
aEndPos--;
|
||||||
|
|
||||||
|
if(MYDEBUG)
|
||||||
|
cout<<"aStartPos = "<<aStartPos<<", aEndPos = "<<aEndPos<<endl;
|
||||||
|
|
||||||
|
aVar = aCommand.SubString(aStartPos, aEndPos-1);
|
||||||
aVar.RightAdjust();
|
aVar.RightAdjust();
|
||||||
aVar.LeftAdjust();
|
aVar.LeftAdjust();
|
||||||
|
|
||||||
if(MYDEBUG)
|
if(MYDEBUG)
|
||||||
cout<<"Current variable 2: '"<< aVar <<"'"<<endl;
|
cout<<"Variable: '"<< aVar <<"'"<<endl;
|
||||||
|
|
||||||
//If parameter is entry or 'None', skip it
|
//If parameter is entry or 'None', skip it
|
||||||
if(theVariables.find(aVar) != theVariables.end() || aVar == PY_NULL)
|
if(theVariables.find(aVar) != theVariables.end() || aVar == PY_NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
aReplasedVar = aVariables[iVar].myVariable;
|
if(iVar >= aVariables.size())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
aReplasedVar = aVariables[iVar].myVariable;
|
||||||
|
|
||||||
if(aReplasedVar.IsEmpty()) {
|
if(aReplasedVar.IsEmpty()) {
|
||||||
iVar++;
|
iVar++;
|
||||||
@ -872,8 +917,17 @@ void ReplaceVariables(TCollection_AsciiString& theCommand,
|
|||||||
aReplasedVar.InsertAfter(aReplasedVar.Length(),"\"");
|
aReplasedVar.InsertAfter(aReplasedVar.Length(),"\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
theCommand.Remove(aStartPos, aEndPos - aStartPos);
|
aCommand.Remove(aStartPos, aEndPos - aStartPos);
|
||||||
theCommand.Insert(aStartPos,aReplasedVar);
|
aCommand.Insert(aStartPos, aReplasedVar);
|
||||||
iVar++;
|
iVar++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
theCommand.Remove(aStartCommandPos, aEndCommandPos - aStartCommandPos);
|
||||||
|
theCommand.Insert(aStartCommandPos, aCommand);
|
||||||
|
|
||||||
|
aCommandIndex++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (MYDEBUG)
|
||||||
|
cout<<"Command : "<<theCommand<<endl;
|
||||||
}
|
}
|
||||||
|
@ -152,6 +152,7 @@ void GEOMBase_Skeleton::initSpinBox( SalomeApp_DoubleSpinBox* spinBox,
|
|||||||
double min, double max,
|
double min, double max,
|
||||||
double step, int decimals )
|
double step, int decimals )
|
||||||
{
|
{
|
||||||
|
spinBox->setPrecision( decimals );
|
||||||
spinBox->setDecimals( decimals ); // it's necessary to set decimals before the range setting,
|
spinBox->setDecimals( decimals ); // it's necessary to set decimals before the range setting,
|
||||||
// by default Qt rounds boundaries to 2 decimals at setRange
|
// by default Qt rounds boundaries to 2 decimals at setRange
|
||||||
spinBox->setRange( min, max );
|
spinBox->setRange( min, max );
|
||||||
|
@ -274,30 +274,22 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
|
|||||||
aNameAttrib->SetValue(aShapeName.ToCString());
|
aNameAttrib->SetValue(aShapeName.ToCString());
|
||||||
|
|
||||||
//Set NoteBook variables used in the object creation
|
//Set NoteBook variables used in the object creation
|
||||||
TCollection_AsciiString aParams(aShape->GetParameters());
|
bool isFound = false;
|
||||||
if(!aParams.IsEmpty()) {
|
|
||||||
TCollection_AsciiString aVars;
|
TCollection_AsciiString aVars;
|
||||||
int nbVars = 0;
|
SALOMEDS::ListOfStrings_var aListOfVars = theStudy->ParseVariables(aShape->GetParameters());
|
||||||
int n = 1;
|
for(int i = 0, n = aListOfVars->length(); i < n; i++) {
|
||||||
TCollection_AsciiString aParam = aParams.Token(":",1);
|
if(theStudy->IsVariable(aListOfVars[i].in())) {
|
||||||
while( aParam.Length() != 0 ) {
|
aVars += TCollection_AsciiString(aListOfVars[i].in());
|
||||||
aParam = aParams.Token(":",n);
|
isFound = true;
|
||||||
if(theStudy->IsVariable(aParam.ToCString())){
|
|
||||||
aVars+=aParam;
|
|
||||||
nbVars++;
|
|
||||||
}
|
}
|
||||||
if(aParam.Length() == 0)
|
if(i != n-1)
|
||||||
break;
|
|
||||||
aVars += ":";
|
aVars += ":";
|
||||||
n++;
|
|
||||||
}
|
}
|
||||||
aVars.Remove(aVars.Length(),1);
|
if(isFound) {
|
||||||
if(nbVars > 0 ) {
|
|
||||||
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString");
|
anAttr = aStudyBuilder->FindOrCreateAttribute(aResultSO, "AttributeString");
|
||||||
SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr);
|
SALOMEDS::AttributeString_var aStringAttrib = SALOMEDS::AttributeString::_narrow(anAttr);
|
||||||
aStringAttrib->SetValue(aVars.ToCString());
|
aStringAttrib->SetValue(aVars.ToCString());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//Set a name of the GEOM object
|
//Set a name of the GEOM object
|
||||||
aShape->SetName(theName);
|
aShape->SetName(theName);
|
||||||
|
@ -117,6 +117,25 @@ def ParseParameters(*parameters):
|
|||||||
Result.append(StringResult)
|
Result.append(StringResult)
|
||||||
return Result
|
return Result
|
||||||
|
|
||||||
|
## Return list of variables value from salome notebook
|
||||||
|
## @ingroup l1_geompy_auxiliary
|
||||||
|
def ParseList(list):
|
||||||
|
Result = []
|
||||||
|
StringResult = ""
|
||||||
|
for parameter in list:
|
||||||
|
if isinstance(parameter,str) and notebook.isVariable(parameter):
|
||||||
|
Result.append(str(notebook.get(parameter)))
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
Result.append(str(parameter))
|
||||||
|
pass
|
||||||
|
|
||||||
|
StringResult = StringResult + str(parameter)
|
||||||
|
StringResult = StringResult + ":"
|
||||||
|
pass
|
||||||
|
StringResult = StringResult[:len(StringResult)-1]
|
||||||
|
return Result,StringResult
|
||||||
|
|
||||||
|
|
||||||
## Kinds of shape enumeration
|
## Kinds of shape enumeration
|
||||||
# @ingroup l1_geompy_auxiliary
|
# @ingroup l1_geompy_auxiliary
|
||||||
@ -992,8 +1011,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_prism "Example"
|
# @ref tui_creation_prism "Example"
|
||||||
def MakePrismVecH(self, theBase, theVec, theH):
|
def MakePrismVecH(self, theBase, theVec, theH):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theH,Parameters = ParseParameters(theH)
|
||||||
anObj = self.PrimOp.MakePrismVecH(theBase, theVec, theH)
|
anObj = self.PrimOp.MakePrismVecH(theBase, theVec, theH)
|
||||||
RaiseIfFailed("MakePrismVecH", self.PrimOp)
|
RaiseIfFailed("MakePrismVecH", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a shape by extrusion of the base shape along the vector,
|
## Create a shape by extrusion of the base shape along the vector,
|
||||||
@ -1007,8 +1028,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_prism "Example"
|
# @ref tui_creation_prism "Example"
|
||||||
def MakePrismVecH2Ways(self, theBase, theVec, theH):
|
def MakePrismVecH2Ways(self, theBase, theVec, theH):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theH,Parameters = ParseParameters(theH)
|
||||||
anObj = self.PrimOp.MakePrismVecH2Ways(theBase, theVec, theH)
|
anObj = self.PrimOp.MakePrismVecH2Ways(theBase, theVec, theH)
|
||||||
RaiseIfFailed("MakePrismVecH2Ways", self.PrimOp)
|
RaiseIfFailed("MakePrismVecH2Ways", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a shape by extrusion of the base shape along the dx, dy, dz direction
|
## Create a shape by extrusion of the base shape along the dx, dy, dz direction
|
||||||
@ -1019,8 +1042,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_prism "Example"
|
# @ref tui_creation_prism "Example"
|
||||||
def MakePrismDXDYDZ(self, theBase, theDX, theDY, theDZ):
|
def MakePrismDXDYDZ(self, theBase, theDX, theDY, theDZ):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theDX,theDY,theDZ,Parameters = ParseParameters(theDX, theDY, theDZ)
|
||||||
anObj = self.PrimOp.MakePrismDXDYDZ(theBase, theDX, theDY, theDZ)
|
anObj = self.PrimOp.MakePrismDXDYDZ(theBase, theDX, theDY, theDZ)
|
||||||
RaiseIfFailed("MakePrismDXDYDZ", self.PrimOp)
|
RaiseIfFailed("MakePrismDXDYDZ", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a shape by extrusion of the base shape along the dx, dy, dz direction
|
## Create a shape by extrusion of the base shape along the dx, dy, dz direction
|
||||||
@ -1033,8 +1058,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_prism "Example"
|
# @ref tui_creation_prism "Example"
|
||||||
def MakePrismDXDYDZ2Ways(self, theBase, theDX, theDY, theDZ):
|
def MakePrismDXDYDZ2Ways(self, theBase, theDX, theDY, theDZ):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theDX,theDY,theDZ,Parameters = ParseParameters(theDX, theDY, theDZ)
|
||||||
anObj = self.PrimOp.MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ)
|
anObj = self.PrimOp.MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ)
|
||||||
RaiseIfFailed("MakePrismDXDYDZ2Ways", self.PrimOp)
|
RaiseIfFailed("MakePrismDXDYDZ2Ways", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a shape by revolution of the base shape around the axis
|
## Create a shape by revolution of the base shape around the axis
|
||||||
@ -1048,14 +1075,18 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_revolution "Example"
|
# @ref tui_creation_revolution "Example"
|
||||||
def MakeRevolution(self, theBase, theAxis, theAngle):
|
def MakeRevolution(self, theBase, theAxis, theAngle):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theAngle,Parameters = ParseParameters(theAngle)
|
||||||
anObj = self.PrimOp.MakeRevolutionAxisAngle(theBase, theAxis, theAngle)
|
anObj = self.PrimOp.MakeRevolutionAxisAngle(theBase, theAxis, theAngle)
|
||||||
RaiseIfFailed("MakeRevolutionAxisAngle", self.PrimOp)
|
RaiseIfFailed("MakeRevolutionAxisAngle", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## The Same Revolution but in both ways forward&backward.
|
## The Same Revolution but in both ways forward&backward.
|
||||||
def MakeRevolution2Ways(self, theBase, theAxis, theAngle):
|
def MakeRevolution2Ways(self, theBase, theAxis, theAngle):
|
||||||
|
theAngle,Parameters = ParseParameters(theAngle)
|
||||||
anObj = self.PrimOp.MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle)
|
anObj = self.PrimOp.MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle)
|
||||||
RaiseIfFailed("MakeRevolutionAxisAngle2Ways", self.PrimOp)
|
RaiseIfFailed("MakeRevolutionAxisAngle2Ways", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a filling from the given compound of contours.
|
## Create a filling from the given compound of contours.
|
||||||
@ -1075,9 +1106,12 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_creation_filling "Example"
|
# @ref tui_creation_filling "Example"
|
||||||
def MakeFilling(self, theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox=0):
|
def MakeFilling(self, theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox=0):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theMinDeg,theMaxDeg,theTol2D,theTol3D,theNbIter,Parameters = ParseParameters(theMinDeg, theMaxDeg,
|
||||||
|
theTol2D, theTol3D, theNbIter)
|
||||||
anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg,
|
anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg,
|
||||||
theTol2D, theTol3D, theNbIter, isApprox)
|
theTol2D, theTol3D, theNbIter, isApprox)
|
||||||
RaiseIfFailed("MakeFilling", self.PrimOp)
|
RaiseIfFailed("MakeFilling", self.PrimOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
|
## Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices.
|
||||||
@ -1789,8 +1823,13 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_shape_processing "Example"
|
# @ref tui_shape_processing "Example"
|
||||||
def ProcessShape(self,theShape, theOperators, theParameters, theValues):
|
def ProcessShape(self,theShape, theOperators, theParameters, theValues):
|
||||||
# Example: see GEOM_TestHealing.py
|
# Example: see GEOM_TestHealing.py
|
||||||
|
theValues,Parameters = ParseList(theValues)
|
||||||
anObj = self.HealOp.ProcessShape(theShape, theOperators, theParameters, theValues)
|
anObj = self.HealOp.ProcessShape(theShape, theOperators, theParameters, theValues)
|
||||||
RaiseIfFailed("ProcessShape", self.HealOp)
|
RaiseIfFailed("ProcessShape", self.HealOp)
|
||||||
|
for string in (theOperators + theParameters):
|
||||||
|
Parameters = ":" + Parameters
|
||||||
|
pass
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Remove faces from the given object (shape).
|
## Remove faces from the given object (shape).
|
||||||
@ -1821,8 +1860,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @return New GEOM_Object, containing processed shape.
|
# @return New GEOM_Object, containing processed shape.
|
||||||
def Sew(self, theObject, theTolerance):
|
def Sew(self, theObject, theTolerance):
|
||||||
# Example: see MakeSewing() above
|
# Example: see MakeSewing() above
|
||||||
|
theTolerance,Parameters = ParseParameters(theTolerance)
|
||||||
anObj = self.HealOp.Sew(theObject, theTolerance)
|
anObj = self.HealOp.Sew(theObject, theTolerance)
|
||||||
RaiseIfFailed("Sew", self.HealOp)
|
RaiseIfFailed("Sew", self.HealOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Remove internal wires and edges from the given object (face).
|
## Remove internal wires and edges from the given object (face).
|
||||||
@ -1879,8 +1920,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_add_point_on_edge "Example"
|
# @ref tui_add_point_on_edge "Example"
|
||||||
def DivideEdge(self,theObject, theEdgeIndex, theValue, isByParameter):
|
def DivideEdge(self,theObject, theEdgeIndex, theValue, isByParameter):
|
||||||
# Example: see GEOM_TestHealing.py
|
# Example: see GEOM_TestHealing.py
|
||||||
|
theEdgeIndex,theValue,isByParameter,Parameters = ParseParameters(theEdgeIndex,theValue,isByParameter)
|
||||||
anObj = self.HealOp.DivideEdge(theObject, theEdgeIndex, theValue, isByParameter)
|
anObj = self.HealOp.DivideEdge(theObject, theEdgeIndex, theValue, isByParameter)
|
||||||
RaiseIfFailed("DivideEdge", self.HealOp)
|
RaiseIfFailed("DivideEdge", self.HealOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Change orientation of the given object. Updates given shape.
|
## Change orientation of the given object. Updates given shape.
|
||||||
@ -1927,9 +1970,11 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_glue_faces "Example"
|
# @ref tui_glue_faces "Example"
|
||||||
def MakeGlueFaces(self, theShape, theTolerance, doKeepNonSolids=True):
|
def MakeGlueFaces(self, theShape, theTolerance, doKeepNonSolids=True):
|
||||||
# Example: see GEOM_Spanner.py
|
# Example: see GEOM_Spanner.py
|
||||||
|
theTolerance,Parameters = ParseParameters(theTolerance)
|
||||||
anObj = self.ShapesOp.MakeGlueFaces(theShape, theTolerance, doKeepNonSolids)
|
anObj = self.ShapesOp.MakeGlueFaces(theShape, theTolerance, doKeepNonSolids)
|
||||||
if anObj is None:
|
if anObj is None:
|
||||||
raise RuntimeError, "MakeGlueFaces : " + self.ShapesOp.GetErrorCode()
|
raise RuntimeError, "MakeGlueFaces : " + self.ShapesOp.GetErrorCode()
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Find coincident faces in theShape for possible gluing.
|
## Find coincident faces in theShape for possible gluing.
|
||||||
@ -2409,8 +2454,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# \n @ref swig_MakeFilletAll "Example 2"
|
# \n @ref swig_MakeFilletAll "Example 2"
|
||||||
def MakeFilletAll(self,theShape, theR):
|
def MakeFilletAll(self,theShape, theR):
|
||||||
# Example: see GEOM_TestOthers.py
|
# Example: see GEOM_TestOthers.py
|
||||||
|
theR,Parameters = ParseParameters(theR)
|
||||||
anObj = self.LocalOp.MakeFilletAll(theShape, theR)
|
anObj = self.LocalOp.MakeFilletAll(theShape, theR)
|
||||||
RaiseIfFailed("MakeFilletAll", self.LocalOp)
|
RaiseIfFailed("MakeFilletAll", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Perform a fillet on the specified edges/faces of the given shape
|
## Perform a fillet on the specified edges/faces of the given shape
|
||||||
@ -2424,6 +2471,7 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_fillet "Example"
|
# @ref tui_fillet "Example"
|
||||||
def MakeFillet(self,theShape, theR, theShapeType, theListShapes):
|
def MakeFillet(self,theShape, theR, theShapeType, theListShapes):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theR,Parameters = ParseParameters(theR)
|
||||||
anObj = None
|
anObj = None
|
||||||
if theShapeType == ShapeType["EDGE"]:
|
if theShapeType == ShapeType["EDGE"]:
|
||||||
anObj = self.LocalOp.MakeFilletEdges(theShape, theR, theListShapes)
|
anObj = self.LocalOp.MakeFilletEdges(theShape, theR, theListShapes)
|
||||||
@ -2431,10 +2479,12 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
else:
|
else:
|
||||||
anObj = self.LocalOp.MakeFilletFaces(theShape, theR, theListShapes)
|
anObj = self.LocalOp.MakeFilletFaces(theShape, theR, theListShapes)
|
||||||
RaiseIfFailed("MakeFilletFaces", self.LocalOp)
|
RaiseIfFailed("MakeFilletFaces", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## The same that MakeFillet but with two Fillet Radius R1 and R2
|
## The same that MakeFillet but with two Fillet Radius R1 and R2
|
||||||
def MakeFilletR1R2(self, theShape, theR1, theR2, theShapeType, theListShapes):
|
def MakeFilletR1R2(self, theShape, theR1, theR2, theShapeType, theListShapes):
|
||||||
|
theR1,theR2,Parameters = ParseParameters(theR1,theR2)
|
||||||
anObj = None
|
anObj = None
|
||||||
if theShapeType == ShapeType["EDGE"]:
|
if theShapeType == ShapeType["EDGE"]:
|
||||||
anObj = self.LocalOp.MakeFilletEdgesR1R2(theShape, theR1, theR2, theListShapes)
|
anObj = self.LocalOp.MakeFilletEdgesR1R2(theShape, theR1, theR2, theListShapes)
|
||||||
@ -2442,6 +2492,7 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
else:
|
else:
|
||||||
anObj = self.LocalOp.MakeFilletFacesR1R2(theShape, theR1, theR2, theListShapes)
|
anObj = self.LocalOp.MakeFilletFacesR1R2(theShape, theR1, theR2, theListShapes)
|
||||||
RaiseIfFailed("MakeFilletFacesR1R2", self.LocalOp)
|
RaiseIfFailed("MakeFilletFacesR1R2", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Perform a symmetric chamfer on all edges of the given shape.
|
## Perform a symmetric chamfer on all edges of the given shape.
|
||||||
@ -2453,8 +2504,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# \n @ref swig_MakeChamferAll "Example 2"
|
# \n @ref swig_MakeChamferAll "Example 2"
|
||||||
def MakeChamferAll(self,theShape, theD):
|
def MakeChamferAll(self,theShape, theD):
|
||||||
# Example: see GEOM_TestOthers.py
|
# Example: see GEOM_TestOthers.py
|
||||||
|
theD,Parameters = ParseParameters(theD)
|
||||||
anObj = self.LocalOp.MakeChamferAll(theShape, theD)
|
anObj = self.LocalOp.MakeChamferAll(theShape, theD)
|
||||||
RaiseIfFailed("MakeChamferAll", self.LocalOp)
|
RaiseIfFailed("MakeChamferAll", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Perform a chamfer on edges, common to the specified faces,
|
## Perform a chamfer on edges, common to the specified faces,
|
||||||
@ -2469,15 +2522,24 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_chamfer "Example"
|
# @ref tui_chamfer "Example"
|
||||||
def MakeChamferEdge(self,theShape, theD1, theD2, theFace1, theFace2):
|
def MakeChamferEdge(self,theShape, theD1, theD2, theFace1, theFace2):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theD1,theD2,Parameters = ParseParameters(theD1,theD2)
|
||||||
anObj = self.LocalOp.MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2)
|
anObj = self.LocalOp.MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2)
|
||||||
RaiseIfFailed("MakeChamferEdge", self.LocalOp)
|
RaiseIfFailed("MakeChamferEdge", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## The Same that MakeChamferEdge but with params theD is chamfer length and
|
## The Same that MakeChamferEdge but with params theD is chamfer length and
|
||||||
# theAngle is Angle of chamfer (angle in radians)
|
# theAngle is Angle of chamfer (angle in radians or a name of variable which defines angle in degrees)
|
||||||
def MakeChamferEdgeAD(self, theShape, theD, theAngle, theFace1, theFace2):
|
def MakeChamferEdgeAD(self, theShape, theD, theAngle, theFace1, theFace2):
|
||||||
|
flag = False
|
||||||
|
if isinstance(theAngle,str):
|
||||||
|
flag = True
|
||||||
|
theD,theAngle,Parameters = ParseParameters(theD,theAngle)
|
||||||
|
if flag:
|
||||||
|
theAngle = theAngle*math.pi/180.0
|
||||||
anObj = self.LocalOp.MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2)
|
anObj = self.LocalOp.MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2)
|
||||||
RaiseIfFailed("MakeChamferEdgeAD", self.LocalOp)
|
RaiseIfFailed("MakeChamferEdgeAD", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Perform a chamfer on all edges of the specified faces,
|
## Perform a chamfer on all edges of the specified faces,
|
||||||
@ -2494,17 +2556,26 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_chamfer "Example"
|
# @ref tui_chamfer "Example"
|
||||||
def MakeChamferFaces(self,theShape, theD1, theD2, theFaces):
|
def MakeChamferFaces(self,theShape, theD1, theD2, theFaces):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theD1,theD2,Parameters = ParseParameters(theD1,theD2)
|
||||||
anObj = self.LocalOp.MakeChamferFaces(theShape, theD1, theD2, theFaces)
|
anObj = self.LocalOp.MakeChamferFaces(theShape, theD1, theD2, theFaces)
|
||||||
RaiseIfFailed("MakeChamferFaces", self.LocalOp)
|
RaiseIfFailed("MakeChamferFaces", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## The Same that MakeChamferFaces but with params theD is chamfer lenght and
|
## The Same that MakeChamferFaces but with params theD is chamfer lenght and
|
||||||
# theAngle is Angle of chamfer (angle in radians)
|
# theAngle is Angle of chamfer (angle in radians or a name of variable which defines angle in degrees)
|
||||||
#
|
#
|
||||||
# @ref swig_FilletChamfer "Example"
|
# @ref swig_FilletChamfer "Example"
|
||||||
def MakeChamferFacesAD(self, theShape, theD, theAngle, theFaces):
|
def MakeChamferFacesAD(self, theShape, theD, theAngle, theFaces):
|
||||||
|
flag = False
|
||||||
|
if isinstance(theAngle,str):
|
||||||
|
flag = True
|
||||||
|
theD,theAngle,Parameters = ParseParameters(theD,theAngle)
|
||||||
|
if flag:
|
||||||
|
theAngle = theAngle*math.pi/180.0
|
||||||
anObj = self.LocalOp.MakeChamferFacesAD(theShape, theD, theAngle, theFaces)
|
anObj = self.LocalOp.MakeChamferFacesAD(theShape, theD, theAngle, theFaces)
|
||||||
RaiseIfFailed("MakeChamferFacesAD", self.LocalOp)
|
RaiseIfFailed("MakeChamferFacesAD", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Perform a chamfer on edges,
|
## Perform a chamfer on edges,
|
||||||
@ -2516,15 +2587,24 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
#
|
#
|
||||||
# @ref swig_FilletChamfer "Example"
|
# @ref swig_FilletChamfer "Example"
|
||||||
def MakeChamferEdges(self, theShape, theD1, theD2, theEdges):
|
def MakeChamferEdges(self, theShape, theD1, theD2, theEdges):
|
||||||
|
theD1,theD2,Parameters = ParseParameters(theD1,theD2)
|
||||||
anObj = self.LocalOp.MakeChamferEdges(theShape, theD1, theD2, theEdges)
|
anObj = self.LocalOp.MakeChamferEdges(theShape, theD1, theD2, theEdges)
|
||||||
RaiseIfFailed("MakeChamferEdges", self.LocalOp)
|
RaiseIfFailed("MakeChamferEdges", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## The Same that MakeChamferEdges but with params theD is chamfer lenght and
|
## The Same that MakeChamferEdges but with params theD is chamfer lenght and
|
||||||
# theAngle is Angle of chamfer (angle in radians)
|
# theAngle is Angle of chamfer (angle in radians or a name of variable which defines angle in degrees)
|
||||||
def MakeChamferEdgesAD(self, theShape, theD, theAngle, theEdges):
|
def MakeChamferEdgesAD(self, theShape, theD, theAngle, theEdges):
|
||||||
|
flag = False
|
||||||
|
if isinstance(theAngle,str):
|
||||||
|
flag = True
|
||||||
|
theD,theAngle,Parameters = ParseParameters(theD,theAngle)
|
||||||
|
if flag:
|
||||||
|
theAngle = theAngle*math.pi/180.0
|
||||||
anObj = self.LocalOp.MakeChamferEdgesAD(theShape, theD, theAngle, theEdges)
|
anObj = self.LocalOp.MakeChamferEdgesAD(theShape, theD, theAngle, theEdges)
|
||||||
RaiseIfFailed("MakeChamferEdgesAD", self.LocalOp)
|
RaiseIfFailed("MakeChamferEdgesAD", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Shortcut to MakeChamferEdge() and MakeChamferFaces()
|
## Shortcut to MakeChamferEdge() and MakeChamferFaces()
|
||||||
@ -2557,8 +2637,11 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_archimede "Example"
|
# @ref tui_archimede "Example"
|
||||||
def Archimede(self,theShape, theWeight, theWaterDensity, theMeshDeflection):
|
def Archimede(self,theShape, theWeight, theWaterDensity, theMeshDeflection):
|
||||||
# Example: see GEOM_TestAll.py
|
# Example: see GEOM_TestAll.py
|
||||||
|
theWeight,theWaterDensity,theMeshDeflection,Parameters = ParseParameters(
|
||||||
|
theWeight,theWaterDensity,theMeshDeflection)
|
||||||
anObj = self.LocalOp.MakeArchimede(theShape, theWeight, theWaterDensity, theMeshDeflection)
|
anObj = self.LocalOp.MakeArchimede(theShape, theWeight, theWaterDensity, theMeshDeflection)
|
||||||
RaiseIfFailed("MakeArchimede", self.LocalOp)
|
RaiseIfFailed("MakeArchimede", self.LocalOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
# end of l3_basic_op
|
# end of l3_basic_op
|
||||||
@ -3197,8 +3280,12 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# \n @ref swig_MakeBlockExplode "Example 2"
|
# \n @ref swig_MakeBlockExplode "Example 2"
|
||||||
def MakeBlockExplode(self,theCompound, theMinNbFaces, theMaxNbFaces):
|
def MakeBlockExplode(self,theCompound, theMinNbFaces, theMaxNbFaces):
|
||||||
# Example: see GEOM_TestOthers.py
|
# Example: see GEOM_TestOthers.py
|
||||||
|
theMinNbFaces,theMaxNbFaces,Parameters = ParseParameters(theMinNbFaces,theMaxNbFaces)
|
||||||
aList = self.BlocksOp.ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces)
|
aList = self.BlocksOp.ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces)
|
||||||
RaiseIfFailed("ExplodeCompoundOfBlocks", self.BlocksOp)
|
RaiseIfFailed("ExplodeCompoundOfBlocks", self.BlocksOp)
|
||||||
|
for anObj in aList:
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
|
pass
|
||||||
return aList
|
return aList
|
||||||
|
|
||||||
## Find block, containing the given point inside its volume or on boundary.
|
## Find block, containing the given point inside its volume or on boundary.
|
||||||
@ -3250,8 +3337,10 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
# @ref tui_multi_transformation "Example"
|
# @ref tui_multi_transformation "Example"
|
||||||
def MakeMultiTransformation1D(self,Block, DirFace1, DirFace2, NbTimes):
|
def MakeMultiTransformation1D(self,Block, DirFace1, DirFace2, NbTimes):
|
||||||
# Example: see GEOM_Spanner.py
|
# Example: see GEOM_Spanner.py
|
||||||
|
DirFace1,DirFace2,NbTimes,Parameters = ParseParameters(DirFace1,DirFace2,NbTimes)
|
||||||
anObj = self.BlocksOp.MakeMultiTransformation1D(Block, DirFace1, DirFace2, NbTimes)
|
anObj = self.BlocksOp.MakeMultiTransformation1D(Block, DirFace1, DirFace2, NbTimes)
|
||||||
RaiseIfFailed("MakeMultiTransformation1D", self.BlocksOp)
|
RaiseIfFailed("MakeMultiTransformation1D", self.BlocksOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Multi-transformate block and glue the result.
|
## Multi-transformate block and glue the result.
|
||||||
@ -3265,9 +3354,12 @@ class geompyDC(GEOM._objref_GEOM_Gen):
|
|||||||
def MakeMultiTransformation2D(self,Block, DirFace1U, DirFace2U, NbTimesU,
|
def MakeMultiTransformation2D(self,Block, DirFace1U, DirFace2U, NbTimesU,
|
||||||
DirFace1V, DirFace2V, NbTimesV):
|
DirFace1V, DirFace2V, NbTimesV):
|
||||||
# Example: see GEOM_Spanner.py
|
# Example: see GEOM_Spanner.py
|
||||||
|
DirFace1U,DirFace2U,NbTimesU,DirFace1V,DirFace2V,NbTimesV,Parameters = ParseParameters(
|
||||||
|
DirFace1U,DirFace2U,NbTimesU,DirFace1V,DirFace2V,NbTimesV)
|
||||||
anObj = self.BlocksOp.MakeMultiTransformation2D(Block, DirFace1U, DirFace2U, NbTimesU,
|
anObj = self.BlocksOp.MakeMultiTransformation2D(Block, DirFace1U, DirFace2U, NbTimesU,
|
||||||
DirFace1V, DirFace2V, NbTimesV)
|
DirFace1V, DirFace2V, NbTimesV)
|
||||||
RaiseIfFailed("MakeMultiTransformation2D", self.BlocksOp)
|
RaiseIfFailed("MakeMultiTransformation2D", self.BlocksOp)
|
||||||
|
anObj.SetParameters(Parameters)
|
||||||
return anObj
|
return anObj
|
||||||
|
|
||||||
## Build all possible propagation groups.
|
## Build all possible propagation groups.
|
||||||
|
@ -336,9 +336,16 @@ GEOM::GEOM_IOperations_ptr GenerationGUI_FillingDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_FillingDlg::isValid( QString& )
|
bool GenerationGUI_FillingDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
return myOkCompound > 0;
|
bool ok = true;
|
||||||
|
ok = GroupPoints->SpinBox1->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox2->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox3->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox4->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox5->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
|
||||||
|
return myOkCompound > 0 && ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -351,9 +358,18 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects )
|
|||||||
|
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakeFilling(
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakeFilling(
|
||||||
myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox );
|
myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox );
|
||||||
|
|
||||||
if ( !anObj->_is_nil() )
|
if ( !anObj->_is_nil() )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << GroupPoints->SpinBox1->text();
|
||||||
|
aParameters << GroupPoints->SpinBox2->text();
|
||||||
|
aParameters << GroupPoints->SpinBox3->text();
|
||||||
|
aParameters << GroupPoints->SpinBox4->text();
|
||||||
|
aParameters << GroupPoints->SpinBox5->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -476,6 +476,7 @@ void GenerationGUI_PrismDlg::SelectionIntoArgument()
|
|||||||
|
|
||||||
QString aName = GEOMBase::GetName(aSelectedObject);
|
QString aName = GEOMBase::GetName(aSelectedObject);
|
||||||
myBase = aSelectedObject;
|
myBase = aSelectedObject;
|
||||||
|
myOkBase = true;
|
||||||
myEditCurrentArgument->setText(aName);
|
myEditCurrentArgument->setText(aName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -619,14 +620,24 @@ GEOM::GEOM_IOperations_ptr GenerationGUI_PrismDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_PrismDlg::isValid (QString&)
|
bool GenerationGUI_PrismDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
if( getConstructorId() == 0 )
|
if( getConstructorId() == 0 )
|
||||||
return (myOkBase && myOkVec); // by vector and height
|
ok = GroupPoints->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
else if( getConstructorId() == 2 )
|
||||||
|
{
|
||||||
|
ok = GroupPoints3->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints3->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints3->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (getConstructorId() == 0)
|
||||||
|
return (myOkBase && myOkVec) && ok; // by vector and height
|
||||||
else if (getConstructorId() == 1)
|
else if (getConstructorId() == 1)
|
||||||
return (myOkBase && myOkPnt1 && myOkPnt2); // by two points
|
return (myOkBase && myOkPnt1 && myOkPnt2); // by two points
|
||||||
else if (getConstructorId() == 2)
|
else if (getConstructorId() == 2)
|
||||||
return true;
|
return myOkBase && ok;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -637,6 +648,7 @@ bool GenerationGUI_PrismDlg::isValid (QString&)
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
|
bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
|
||||||
{
|
{
|
||||||
|
QStringList aParameters;
|
||||||
GEOM::GEOM_Object_var anObj;
|
GEOM::GEOM_Object_var anObj;
|
||||||
|
|
||||||
switch (getConstructorId()) {
|
switch (getConstructorId()) {
|
||||||
@ -649,6 +661,13 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
|
|||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakePrismVecH2Ways(myBase, myVec, getHeight());
|
MakePrismVecH2Ways(myBase, myVec, getHeight());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if (!myBothway2) {
|
if (!myBothway2) {
|
||||||
@ -673,6 +692,15 @@ bool GenerationGUI_PrismDlg::execute (ObjectList& objects)
|
|||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakePrismDXDYDZ2Ways(myBase, dx, dy, dz);
|
MakePrismDXDYDZ2Ways(myBase, dx, dy, dz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << GroupPoints3->SpinBox_DX->text();
|
||||||
|
aParameters << GroupPoints3->SpinBox_DY->text();
|
||||||
|
aParameters << GroupPoints3->SpinBox_DZ->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,9 +389,10 @@ GEOM::GEOM_IOperations_ptr GenerationGUI_RevolDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool GenerationGUI_RevolDlg::isValid (QString&)
|
bool GenerationGUI_RevolDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
return myOkBase && myOkAxis;
|
bool ok = GroupPoints->SpinBox_DX->isValid( msg, !IsPreview() );
|
||||||
|
return myOkBase && myOkAxis && ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -412,7 +413,13 @@ bool GenerationGUI_RevolDlg::execute (ObjectList& objects)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!anObj->_is_nil())
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back(anObj._retn());
|
objects.push_back(anObj._retn());
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -248,9 +248,13 @@ GEOM::GEOM_IOperations_ptr OperationGUI_ArchimedeDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool OperationGUI_ArchimedeDlg::isValid( QString& )
|
bool OperationGUI_ArchimedeDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
return !myShape->_is_nil();
|
bool ok = true;
|
||||||
|
ok = GroupPoints->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = GroupPoints->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
return !myShape->_is_nil() && ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -269,7 +273,15 @@ bool OperationGUI_ArchimedeDlg::execute( ObjectList& objects )
|
|||||||
getOperation() )->MakeArchimede( myShape, aWeight, aWaterDensity, aMeshDeflection );
|
getOperation() )->MakeArchimede( myShape, aWeight, aWaterDensity, aMeshDeflection );
|
||||||
|
|
||||||
if ( !anObj->_is_nil() )
|
if ( !anObj->_is_nil() )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
|
aParameters << GroupPoints->SpinBox_DY->text();
|
||||||
|
aParameters << GroupPoints->SpinBox_DZ->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ OperationGUI_ChamferDlg::OperationGUI_ChamferDlg (GeometryGUI* theGeometryGUI, Q
|
|||||||
|
|
||||||
int row = aLayout->rowCount();
|
int row = aLayout->rowCount();
|
||||||
aLayout->addWidget(new QLabel(tr("D"), myGrp1), row, 0);
|
aLayout->addWidget(new QLabel(tr("D"), myGrp1), row, 0);
|
||||||
aLayout->addWidget((mySpinBox[ SpinBox1 ] = new QDoubleSpinBox(myGrp1)), row++, 2);
|
aLayout->addWidget((mySpinBox[ SpinBox1 ] = new SalomeApp_DoubleSpinBox(myGrp1)), row++, 2);
|
||||||
aLayout->setRowStretch(row, 10);
|
aLayout->setRowStretch(row, 10);
|
||||||
|
|
||||||
// Create second group
|
// Create second group
|
||||||
@ -145,7 +145,7 @@ OperationGUI_ChamferDlg::OperationGUI_ChamferDlg (GeometryGUI* theGeometryGUI, Q
|
|||||||
|
|
||||||
// Set range of spinboxes
|
// Set range of spinboxes
|
||||||
double SpecificStep = 10.0;
|
double SpecificStep = 10.0;
|
||||||
QMap< int, QDoubleSpinBox* >::iterator anIter;
|
QMap< int, SalomeApp_DoubleSpinBox* >::iterator anIter;
|
||||||
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
|
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter) {
|
||||||
if (anIter.key() == SpinBox44 || anIter.key() == SpinBox34 || anIter.key() == SpinBox24)
|
if (anIter.key() == SpinBox44 || anIter.key() == SpinBox34 || anIter.key() == SpinBox24)
|
||||||
initSpinBox(anIter.value(), 0.001, 89.999, 5, 0);
|
initSpinBox(anIter.value(), 0.001, 89.999, 5, 0);
|
||||||
@ -175,7 +175,7 @@ OperationGUI_ChamferDlg::~OperationGUI_ChamferDlg()
|
|||||||
void OperationGUI_ChamferDlg::Init()
|
void OperationGUI_ChamferDlg::Init()
|
||||||
{
|
{
|
||||||
// Set Initial values of spinboxes
|
// Set Initial values of spinboxes
|
||||||
QMap< int, QDoubleSpinBox* >::iterator anIter;
|
QMap< int, SalomeApp_DoubleSpinBox* >::iterator anIter;
|
||||||
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter)
|
for (anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter)
|
||||||
anIter.value()->setValue(5);
|
anIter.value()->setValue(5);
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ void OperationGUI_ChamferDlg::Init()
|
|||||||
this, SLOT(LineEditReturnPressed()));
|
this, SLOT(LineEditReturnPressed()));
|
||||||
|
|
||||||
// spin boxes
|
// spin boxes
|
||||||
QMap< int, QDoubleSpinBox* >::iterator anIterSpin;
|
QMap< int, SalomeApp_DoubleSpinBox* >::iterator anIterSpin;
|
||||||
for (anIterSpin = mySpinBox.begin(); anIterSpin != mySpinBox.end(); ++anIterSpin)
|
for (anIterSpin = mySpinBox.begin(); anIterSpin != mySpinBox.end(); ++anIterSpin)
|
||||||
connect(anIterSpin.value(), SIGNAL(valueChanged(double)),
|
connect(anIterSpin.value(), SIGNAL(valueChanged(double)),
|
||||||
this, SLOT(ValueChangedInSpinBox(double)));
|
this, SLOT(ValueChangedInSpinBox(double)));
|
||||||
@ -249,26 +249,26 @@ void OperationGUI_ChamferDlg::ConstructorsClicked (int constructorId)
|
|||||||
//disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
//disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
||||||
|
|
||||||
// Get values from previous widget
|
// Get values from previous widget
|
||||||
double D1 = 5, D2 = 5, D = 5, Angle = 5;
|
QString D1 = "5", D2 = "5", D = "5", Angle = "5";
|
||||||
if (myConstructorId == 0)
|
if (myConstructorId == 0)
|
||||||
D1 = D2 = mySpinBox[ SpinBox1 ]->value();
|
D1 = D2 = mySpinBox[ SpinBox1 ]->text();
|
||||||
else if (myConstructorId == 1) {
|
else if (myConstructorId == 1) {
|
||||||
D1 = mySpinBox[ SpinBox21 ]->value();
|
D1 = mySpinBox[ SpinBox21 ]->text();
|
||||||
D2 = mySpinBox[ SpinBox22 ]->value();
|
D2 = mySpinBox[ SpinBox22 ]->text();
|
||||||
D = mySpinBox[ SpinBox23 ]->value();
|
D = mySpinBox[ SpinBox23 ]->text();
|
||||||
Angle = mySpinBox[ SpinBox24 ]->value();
|
Angle = mySpinBox[ SpinBox24 ]->text();
|
||||||
}
|
}
|
||||||
else if (myConstructorId == 2) {
|
else if (myConstructorId == 2) {
|
||||||
D1 = mySpinBox[ SpinBox31 ]->value();
|
D1 = mySpinBox[ SpinBox31 ]->text();
|
||||||
D2 = mySpinBox[ SpinBox32 ]->value();
|
D2 = mySpinBox[ SpinBox32 ]->text();
|
||||||
D = mySpinBox[ SpinBox33 ]->value();
|
D = mySpinBox[ SpinBox33 ]->text();
|
||||||
Angle = mySpinBox[ SpinBox34 ]->value();
|
Angle = mySpinBox[ SpinBox34 ]->text();
|
||||||
}
|
}
|
||||||
else if (myConstructorId == 3) {
|
else if (myConstructorId == 3) {
|
||||||
D1 = mySpinBox[ SpinBox41 ]->value();
|
D1 = mySpinBox[ SpinBox41 ]->text();
|
||||||
D2 = mySpinBox[ SpinBox42 ]->value();
|
D2 = mySpinBox[ SpinBox42 ]->text();
|
||||||
D = mySpinBox[ SpinBox43 ]->value();
|
D = mySpinBox[ SpinBox43 ]->text();
|
||||||
Angle = mySpinBox[ SpinBox44 ]->value();
|
Angle = mySpinBox[ SpinBox44 ]->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
myConstructorId = constructorId;
|
myConstructorId = constructorId;
|
||||||
@ -279,38 +279,38 @@ void OperationGUI_ChamferDlg::ConstructorsClicked (int constructorId)
|
|||||||
myGrp3->hide();
|
myGrp3->hide();
|
||||||
myGrp4->hide();
|
myGrp4->hide();
|
||||||
myGrp1->show();
|
myGrp1->show();
|
||||||
mySpinBox[ SpinBox1 ]->setValue(D1);
|
mySpinBox[ SpinBox1 ]->setText(D1);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
myGrp1->hide();
|
myGrp1->hide();
|
||||||
myGrp3->hide();
|
myGrp3->hide();
|
||||||
myGrp4->hide();
|
myGrp4->hide();
|
||||||
myGrp2->show();
|
myGrp2->show();
|
||||||
mySpinBox[ SpinBox21 ]->setValue(D1);
|
mySpinBox[ SpinBox21 ]->setText(D1);
|
||||||
mySpinBox[ SpinBox22 ]->setValue(D2);
|
mySpinBox[ SpinBox22 ]->setText(D2);
|
||||||
mySpinBox[ SpinBox23 ]->setValue(D);
|
mySpinBox[ SpinBox23 ]->setText(D);
|
||||||
mySpinBox[ SpinBox24 ]->setValue(Angle);
|
mySpinBox[ SpinBox24 ]->setText(Angle);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
myGrp1->hide();
|
myGrp1->hide();
|
||||||
myGrp2->hide();
|
myGrp2->hide();
|
||||||
myGrp4->hide();
|
myGrp4->hide();
|
||||||
myGrp3->show();
|
myGrp3->show();
|
||||||
mySpinBox[ SpinBox31 ]->setValue(D1);
|
mySpinBox[ SpinBox31 ]->setText(D1);
|
||||||
mySpinBox[ SpinBox32 ]->setValue(D2);
|
mySpinBox[ SpinBox32 ]->setText(D2);
|
||||||
mySpinBox[ SpinBox32 ]->setValue(D2);
|
mySpinBox[ SpinBox32 ]->setText(D2);
|
||||||
mySpinBox[ SpinBox33 ]->setValue(D);
|
mySpinBox[ SpinBox33 ]->setText(D);
|
||||||
mySpinBox[ SpinBox34 ]->setValue(Angle);
|
mySpinBox[ SpinBox34 ]->setText(Angle);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
myGrp1->hide();
|
myGrp1->hide();
|
||||||
myGrp2->hide();
|
myGrp2->hide();
|
||||||
myGrp3->hide();
|
myGrp3->hide();
|
||||||
myGrp4->show();
|
myGrp4->show();
|
||||||
mySpinBox[ SpinBox41 ]->setValue(D1);
|
mySpinBox[ SpinBox41 ]->setText(D1);
|
||||||
mySpinBox[ SpinBox42 ]->setValue(D2);
|
mySpinBox[ SpinBox42 ]->setText(D2);
|
||||||
mySpinBox[ SpinBox43 ]->setValue(D);
|
mySpinBox[ SpinBox43 ]->setText(D);
|
||||||
mySpinBox[ SpinBox44 ]->setValue(Angle);
|
mySpinBox[ SpinBox44 ]->setText(Angle);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -641,8 +641,8 @@ void OperationGUI_ChamferDlg::createRadioWg(const QString& theLbl1,
|
|||||||
myRadioButton[ theRbId ] = new QRadioButton(theParent);
|
myRadioButton[ theRbId ] = new QRadioButton(theParent);
|
||||||
QLabel* lab1 = new QLabel(theLbl1, theParent);
|
QLabel* lab1 = new QLabel(theLbl1, theParent);
|
||||||
QLabel* lab2 = new QLabel(theLbl2, theParent);
|
QLabel* lab2 = new QLabel(theLbl2, theParent);
|
||||||
mySpinBox[ theSpin1Id ] = new QDoubleSpinBox(theParent);
|
mySpinBox[ theSpin1Id ] = new SalomeApp_DoubleSpinBox(theParent);
|
||||||
mySpinBox[ theSpin2Id ] = new QDoubleSpinBox(theParent);
|
mySpinBox[ theSpin2Id ] = new SalomeApp_DoubleSpinBox(theParent);
|
||||||
int row = theLayout->rowCount();
|
int row = theLayout->rowCount();
|
||||||
theLayout->addWidget(myRadioButton[ theRbId ], row, 0);
|
theLayout->addWidget(myRadioButton[ theRbId ], row, 0);
|
||||||
theLayout->addWidget(lab1, row, 2);
|
theLayout->addWidget(lab1, row, 2);
|
||||||
@ -738,14 +738,50 @@ GEOM::GEOM_IOperations_ptr OperationGUI_ChamferDlg::createOperation()
|
|||||||
// function : isValid()
|
// function : isValid()
|
||||||
// purpose : Verify validity of input data
|
// purpose : Verify validity of input data
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool OperationGUI_ChamferDlg::isValid (QString&)
|
bool OperationGUI_ChamferDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
switch (getConstructorId())
|
switch (getConstructorId())
|
||||||
{
|
{
|
||||||
case 0: return !myShape->_is_nil();
|
case 0:
|
||||||
case 1: return !myShape->_is_nil() && myFace[ Face1 ] > 0 && myFace[ Face2 ] > 0;
|
ok = mySpinBox[ SpinBox1 ]->isValid( msg, !IsPreview() );
|
||||||
case 2: return !myShape->_is_nil() && myFaces.Extent() > 0;
|
return !myShape->_is_nil() && ok;
|
||||||
case 3: return !myShape->_is_nil() && myEdges.Extent() > 0;
|
case 1:
|
||||||
|
if (myRadioButton[ RadioButton21 ]->isChecked())
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox21 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox22 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox23 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox24 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
return !myShape->_is_nil() && myFace[ Face1 ] > 0 && myFace[ Face2 ] > 0 && ok;
|
||||||
|
case 2:
|
||||||
|
if (myRadioButton[ RadioButton31 ]->isChecked())
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox31 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox32 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox33 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox34 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
return !myShape->_is_nil() && myFaces.Extent() > 0 && ok;
|
||||||
|
case 3:
|
||||||
|
if (myRadioButton[ RadioButton41 ]->isChecked())
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox41 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox42 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = mySpinBox[ SpinBox43 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = mySpinBox[ SpinBox44 ]->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
return !myShape->_is_nil() && myEdges.Extent() > 0 && ok;
|
||||||
default: return false;
|
default: return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -756,6 +792,7 @@ bool OperationGUI_ChamferDlg::isValid (QString&)
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
||||||
{
|
{
|
||||||
|
QStringList aParameters;
|
||||||
GEOM::GEOM_Object_var anObj;
|
GEOM::GEOM_Object_var anObj;
|
||||||
bool flag = (myRadioButton[ RadioButton21 ]->isChecked() &&
|
bool flag = (myRadioButton[ RadioButton21 ]->isChecked() &&
|
||||||
myRadioButton[ RadioButton31 ]->isChecked() &&
|
myRadioButton[ RadioButton31 ]->isChecked() &&
|
||||||
@ -765,6 +802,8 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
if (anId == 0) {
|
if (anId == 0) {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeChamferAll(myShape, mySpinBox[ SpinBox1 ]->value());
|
MakeChamferAll(myShape, mySpinBox[ SpinBox1 ]->value());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
aParameters << mySpinBox[ SpinBox1 ]->text();
|
||||||
}
|
}
|
||||||
else if (anId == 1) {
|
else if (anId == 1) {
|
||||||
if (flag) {
|
if (flag) {
|
||||||
@ -774,6 +813,11 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
mySpinBox[ SpinBox22 ]->value(),
|
mySpinBox[ SpinBox22 ]->value(),
|
||||||
myFace[ Face1 ],
|
myFace[ Face1 ],
|
||||||
myFace[ Face2 ]);
|
myFace[ Face2 ]);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox21 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox22 ]->text();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
@ -782,6 +826,11 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
mySpinBox[ SpinBox24 ]->value() * PI180,
|
mySpinBox[ SpinBox24 ]->value() * PI180,
|
||||||
myFace[ Face1 ],
|
myFace[ Face1 ],
|
||||||
myFace[ Face2 ]);
|
myFace[ Face2 ]);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox23 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox24 ]->text();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (anId == 2)
|
else if (anId == 2)
|
||||||
@ -792,18 +841,30 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
for (int i = 1, n = myFaces.Extent(); i <= n; i++)
|
for (int i = 1, n = myFaces.Extent(); i <= n; i++)
|
||||||
anArray[ i - 1 ] = myFaces(i);
|
anArray[ i - 1 ] = myFaces(i);
|
||||||
|
|
||||||
if (flag)
|
if (flag) {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeChamferFaces(myShape,
|
MakeChamferFaces(myShape,
|
||||||
mySpinBox[ SpinBox31 ]->value(),
|
mySpinBox[ SpinBox31 ]->value(),
|
||||||
mySpinBox[ SpinBox32 ]->value(),
|
mySpinBox[ SpinBox32 ]->value(),
|
||||||
anArray);
|
anArray);
|
||||||
else
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox31 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox32 ]->text();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeChamferFacesAD(myShape,
|
MakeChamferFacesAD(myShape,
|
||||||
mySpinBox[ SpinBox33 ]->value(),
|
mySpinBox[ SpinBox33 ]->value(),
|
||||||
mySpinBox[ SpinBox34 ]->value() * PI180,
|
mySpinBox[ SpinBox34 ]->value() * PI180,
|
||||||
anArray);
|
anArray);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox33 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox34 ]->text();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (anId == 3) {
|
else if (anId == 3) {
|
||||||
GEOM::ListOfLong_var anArray = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var anArray = new GEOM::ListOfLong;
|
||||||
@ -816,6 +877,11 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
mySpinBox[ SpinBox41 ]->value(),
|
mySpinBox[ SpinBox41 ]->value(),
|
||||||
mySpinBox[ SpinBox42 ]->value(),
|
mySpinBox[ SpinBox42 ]->value(),
|
||||||
anArray);
|
anArray);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox41 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox42 ]->text();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
@ -823,11 +889,19 @@ bool OperationGUI_ChamferDlg::execute (ObjectList& objects)
|
|||||||
mySpinBox[ SpinBox43 ]->value(),
|
mySpinBox[ SpinBox43 ]->value(),
|
||||||
mySpinBox[ SpinBox44 ]->value() * PI180,
|
mySpinBox[ SpinBox44 ]->value() * PI180,
|
||||||
anArray);
|
anArray);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << mySpinBox[ SpinBox43 ]->text();
|
||||||
|
aParameters << mySpinBox[ SpinBox44 ]->text();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!anObj->_is_nil())
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
objects.push_back(anObj._retn());
|
objects.push_back(anObj._retn());
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
@ -106,7 +106,7 @@ private:
|
|||||||
|
|
||||||
QMap< int, QPushButton* > mySelBtn;
|
QMap< int, QPushButton* > mySelBtn;
|
||||||
QMap< int, QLineEdit* > mySelName;
|
QMap< int, QLineEdit* > mySelName;
|
||||||
QMap< int, QDoubleSpinBox* > mySpinBox;
|
QMap< int, SalomeApp_DoubleSpinBox* > mySpinBox;
|
||||||
QMap< int, QRadioButton* > myRadioButton;
|
QMap< int, QRadioButton* > myRadioButton;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -217,19 +217,19 @@ void OperationGUI_FilletDlg::ConstructorsClicked (int constructorId)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Get radius from previous widget
|
// Get radius from previous widget
|
||||||
double R = 5, R1 = 5, R2 = 5;
|
QString R = "5", R1 = "5", R2 = "5";
|
||||||
if (myConstructorId == 0) {
|
if (myConstructorId == 0) {
|
||||||
R = Group1->SpinBox_DX->value();
|
R = Group1->SpinBox_DX->text();
|
||||||
}
|
}
|
||||||
else if (myConstructorId == 1) {
|
else if (myConstructorId == 1) {
|
||||||
R = Group2->SpinBox_DX->value();
|
R = Group2->SpinBox_DX->text();
|
||||||
R1 = Group2->SpinBox_DY->value();
|
R1 = Group2->SpinBox_DY->text();
|
||||||
R2 = Group2->SpinBox_DZ->value();
|
R2 = Group2->SpinBox_DZ->text();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
R = Group3->SpinBox_DX->value();
|
R = Group3->SpinBox_DX->text();
|
||||||
R1 = Group3->SpinBox_DY->value();
|
R1 = Group3->SpinBox_DY->text();
|
||||||
R2 = Group3->SpinBox_DZ->value();
|
R2 = Group3->SpinBox_DZ->text();
|
||||||
}
|
}
|
||||||
|
|
||||||
myConstructorId = constructorId;
|
myConstructorId = constructorId;
|
||||||
@ -239,23 +239,23 @@ void OperationGUI_FilletDlg::ConstructorsClicked (int constructorId)
|
|||||||
Group2->hide();
|
Group2->hide();
|
||||||
Group3->hide();
|
Group3->hide();
|
||||||
Group1->show();
|
Group1->show();
|
||||||
Group1->SpinBox_DX->setValue(R);
|
Group1->SpinBox_DX->setText(R);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
Group1->hide();
|
Group1->hide();
|
||||||
Group3->hide();
|
Group3->hide();
|
||||||
Group2->show();
|
Group2->show();
|
||||||
Group2->SpinBox_DX->setValue(R);
|
Group2->SpinBox_DX->setText(R);
|
||||||
Group2->SpinBox_DY->setValue(R1);
|
Group2->SpinBox_DY->setText(R1);
|
||||||
Group2->SpinBox_DZ->setValue(R2);
|
Group2->SpinBox_DZ->setText(R2);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
Group1->hide();
|
Group1->hide();
|
||||||
Group2->hide();
|
Group2->hide();
|
||||||
Group3->show();
|
Group3->show();
|
||||||
Group3->SpinBox_DX->setValue(R);
|
Group3->SpinBox_DX->setText(R);
|
||||||
Group3->SpinBox_DY->setValue(R1);
|
Group3->SpinBox_DY->setText(R1);
|
||||||
Group3->SpinBox_DZ->setValue(R2);
|
Group3->SpinBox_DZ->setText(R2);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -585,13 +585,32 @@ GEOM::GEOM_IOperations_ptr OperationGUI_FilletDlg::createOperation()
|
|||||||
// function : isValid()
|
// function : isValid()
|
||||||
// purpose : Verify validity of input data
|
// purpose : Verify validity of input data
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool OperationGUI_FilletDlg::isValid (QString&)
|
bool OperationGUI_FilletDlg::isValid (QString& msg)
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
switch (getConstructorId())
|
switch (getConstructorId())
|
||||||
{
|
{
|
||||||
case 0: return !myShape->_is_nil();
|
case 0:
|
||||||
case 1: return !myShape->_is_nil() && myEdges.Extent() > 0;
|
ok = Group1->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
case 2: return !myShape->_is_nil() && myFaces.Extent() > 0;
|
return !myShape->_is_nil() && ok;
|
||||||
|
case 1:
|
||||||
|
if (Group2->RadioButton1->isChecked())
|
||||||
|
ok = Group2->SpinBox_DX->isValid( msg, !IsPreview() );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = Group2->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = Group2->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
return !myShape->_is_nil() && myEdges.Extent() > 0 && ok;
|
||||||
|
case 2:
|
||||||
|
if (Group3->RadioButton1->isChecked())
|
||||||
|
ok = Group3->SpinBox_DX->isValid( msg, !IsPreview() );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ok = Group3->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
ok = Group3->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
return !myShape->_is_nil() && myFaces.Extent() > 0 && ok;
|
||||||
default: return false;
|
default: return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -602,12 +621,16 @@ bool OperationGUI_FilletDlg::isValid (QString&)
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool OperationGUI_FilletDlg::execute (ObjectList& objects)
|
bool OperationGUI_FilletDlg::execute (ObjectList& objects)
|
||||||
{
|
{
|
||||||
|
QStringList aParameters;
|
||||||
GEOM::GEOM_Object_var anObj;
|
GEOM::GEOM_Object_var anObj;
|
||||||
|
|
||||||
int anId = getConstructorId();
|
int anId = getConstructorId();
|
||||||
if (anId == 0)
|
if (anId == 0) {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeFilletAll(myShape, getRadius());
|
MakeFilletAll(myShape, getRadius());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
aParameters << Group1->SpinBox_DX->text();
|
||||||
|
}
|
||||||
else if (anId == 1) {
|
else if (anId == 1) {
|
||||||
GEOM::ListOfLong_var aList = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aList = new GEOM::ListOfLong;
|
||||||
aList->length(myEdges.Extent());
|
aList->length(myEdges.Extent());
|
||||||
@ -616,14 +639,25 @@ bool OperationGUI_FilletDlg::execute (ObjectList& objects)
|
|||||||
aList[ i - 1 ] = myEdges(i);
|
aList[ i - 1 ] = myEdges(i);
|
||||||
|
|
||||||
if (Group2->RadioButton1->isChecked())
|
if (Group2->RadioButton1->isChecked())
|
||||||
|
{
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeFilletEdges(myShape, getRadius(), aList);
|
MakeFilletEdges(myShape, getRadius(), aList);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
aParameters << Group2->SpinBox_DX->text();
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeFilletEdgesR1R2(myShape,
|
MakeFilletEdgesR1R2(myShape,
|
||||||
Group2->SpinBox_DY->value(),
|
Group2->SpinBox_DY->value(),
|
||||||
Group2->SpinBox_DZ->value(),
|
Group2->SpinBox_DZ->value(),
|
||||||
aList);
|
aList);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << Group2->SpinBox_DY->text();
|
||||||
|
aParameters << Group2->SpinBox_DZ->text();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (anId == 2) {
|
else if (anId == 2) {
|
||||||
GEOM::ListOfLong_var aList = new GEOM::ListOfLong;
|
GEOM::ListOfLong_var aList = new GEOM::ListOfLong;
|
||||||
@ -635,17 +669,27 @@ bool OperationGUI_FilletDlg::execute (ObjectList& objects)
|
|||||||
if (Group3->RadioButton1->isChecked()) {
|
if (Group3->RadioButton1->isChecked()) {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeFilletFaces(myShape, getRadius(), aList);
|
MakeFilletFaces(myShape, getRadius(), aList);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
aParameters << Group3->SpinBox_DX->text();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_ILocalOperations::_narrow(getOperation())->
|
||||||
MakeFilletFacesR1R2(myShape,
|
MakeFilletFacesR1R2(myShape,
|
||||||
Group3->SpinBox_DY->value(),
|
Group3->SpinBox_DY->value(),
|
||||||
Group3->SpinBox_DZ->value(), aList);
|
Group3->SpinBox_DZ->value(), aList);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
aParameters << Group3->SpinBox_DY->text();
|
||||||
|
aParameters << Group3->SpinBox_DZ->text();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!anObj->_is_nil())
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
objects.push_back(anObj._retn());
|
objects.push_back(anObj._retn());
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -433,6 +433,10 @@ bool PrimitiveGUI_BoxDlg::isValid (QString& msg)
|
|||||||
ok = GroupDimensions->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
ok = GroupDimensions->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
|
||||||
|
ok = fabs( GroupDimensions->SpinBox_DX->value() ) > Precision::Confusion() && ok;
|
||||||
|
ok = fabs( GroupDimensions->SpinBox_DY->value() ) > Precision::Confusion() && ok;
|
||||||
|
ok = fabs( GroupDimensions->SpinBox_DZ->value() ) > Precision::Confusion() && ok;
|
||||||
}
|
}
|
||||||
return getConstructorId() == 0 ? !(myPoint1->_is_nil() || myPoint2->_is_nil()) : ok;
|
return getConstructorId() == 0 ? !(myPoint1->_is_nil() || myPoint2->_is_nil()) : ok;
|
||||||
}
|
}
|
||||||
@ -463,13 +467,14 @@ bool PrimitiveGUI_BoxDlg::execute (ObjectList& objects)
|
|||||||
double z = GroupDimensions->SpinBox_DZ->value();
|
double z = GroupDimensions->SpinBox_DZ->value();
|
||||||
|
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->MakeBoxDXDYDZ(x, y, z);
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->MakeBoxDXDYDZ(x, y, z);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DY->text();
|
aParameters << GroupDimensions->SpinBox_DY->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DZ->text();
|
aParameters << GroupDimensions->SpinBox_DZ->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -451,6 +451,7 @@ bool PrimitiveGUI_ConeDlg::isValid (QString& msg)
|
|||||||
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
ok = GroupDimensions->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DZ->isValid( msg, !IsPreview() ) && ok;
|
||||||
}
|
}
|
||||||
|
ok = fabs( getHeight() ) > Precision::Confusion() && ok;
|
||||||
return getConstructorId() == 0 ? !(myPoint->_is_nil() || myDir->_is_nil()) && ok : ok;
|
return getConstructorId() == 0 ? !(myPoint->_is_nil() || myDir->_is_nil()) && ok : ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,26 +470,28 @@ bool PrimitiveGUI_ConeDlg::execute (ObjectList& objects)
|
|||||||
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeConePntVecR1R2H(myPoint, myDir, getRadius1(), getRadius2(), getHeight());
|
MakeConePntVecR1R2H(myPoint, myDir, getRadius1(), getRadius2(), getHeight());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupPoints->SpinBox_DX->text();
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
aParameters << GroupPoints->SpinBox_DY->text();
|
aParameters << GroupPoints->SpinBox_DY->text();
|
||||||
aParameters << GroupPoints->SpinBox_DZ->text();
|
aParameters << GroupPoints->SpinBox_DZ->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeConeR1R2H(getRadius1(), getRadius2(), getHeight());
|
MakeConeR1R2H(getRadius1(), getRadius2(), getHeight());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DY->text();
|
aParameters << GroupDimensions->SpinBox_DY->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DZ->text();
|
aParameters << GroupDimensions->SpinBox_DZ->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -445,6 +445,7 @@ bool PrimitiveGUI_CylinderDlg::isValid (QString& msg)
|
|||||||
ok = GroupDimensions->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DX->isValid( msg, !IsPreview() ) && ok;
|
||||||
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
ok = GroupDimensions->SpinBox_DY->isValid( msg, !IsPreview() ) && ok;
|
||||||
}
|
}
|
||||||
|
ok = fabs( getHeight() ) > Precision::Confusion() && ok;
|
||||||
return getConstructorId() == 0 ? !(myPoint->_is_nil() || myDir->_is_nil()) && ok : ok;
|
return getConstructorId() == 0 ? !(myPoint->_is_nil() || myDir->_is_nil()) && ok : ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,24 +464,26 @@ bool PrimitiveGUI_CylinderDlg::execute (ObjectList& objects)
|
|||||||
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeCylinderPntVecRH(myPoint, myDir, getRadius(), getHeight());
|
MakeCylinderPntVecRH(myPoint, myDir, getRadius(), getHeight());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupPoints->SpinBox_DX->text();
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
aParameters << GroupPoints->SpinBox_DY->text();
|
aParameters << GroupPoints->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeCylinderRH(getRadius(), getHeight());
|
MakeCylinderRH(getRadius(), getHeight());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DY->text();
|
aParameters << GroupDimensions->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -575,19 +575,21 @@ bool PrimitiveGUI_DiskDlg::execute (ObjectList& objects)
|
|||||||
case 0:
|
case 0:
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeDiskR(getRadius(), myOrientationType);
|
MakeDiskR(getRadius(), myOrientationType);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeDiskPntVecR(myPoint, myDir, getRadius());
|
MakeDiskPntVecR(myPoint, myDir, getRadius());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
aParameters << GroupPntVecR->SpinBox_DX->text();
|
aParameters << GroupPntVecR->SpinBox_DX->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -497,11 +497,12 @@ bool PrimitiveGUI_FaceDlg::execute (ObjectList& objects)
|
|||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeFaceHW(GroupDimensions->SpinBox_DX->value(),
|
MakeFaceHW(GroupDimensions->SpinBox_DX->value(),
|
||||||
GroupDimensions->SpinBox_DY->value(), myOrientationType);
|
GroupDimensions->SpinBox_DY->value(), myOrientationType);
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DY->text();
|
aParameters << GroupDimensions->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@ -511,11 +512,12 @@ bool PrimitiveGUI_FaceDlg::execute (ObjectList& objects)
|
|||||||
else if (GroupType->RadioButton2->isChecked())
|
else if (GroupType->RadioButton2->isChecked())
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeFaceObjHW(myFace, GroupPlane->SpinBox_DX->value(), GroupPlane->SpinBox_DY->value());
|
MakeFaceObjHW(myFace, GroupPlane->SpinBox_DX->value(), GroupPlane->SpinBox_DY->value());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
aParameters << GroupPlane->SpinBox_DX->text();
|
aParameters << GroupPlane->SpinBox_DX->text();
|
||||||
aParameters << GroupPlane->SpinBox_DY->text();
|
aParameters << GroupPlane->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -401,11 +401,12 @@ bool PrimitiveGUI_SphereDlg::execute( ObjectList& objects )
|
|||||||
{
|
{
|
||||||
if ( !CORBA::is_nil( myPoint ) ) {
|
if ( !CORBA::is_nil( myPoint ) ) {
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSpherePntR( myPoint, getRadius() );
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSpherePntR( myPoint, getRadius() );
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupPoints->SpinBox_DX->text();
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -413,11 +414,12 @@ bool PrimitiveGUI_SphereDlg::execute( ObjectList& objects )
|
|||||||
case 1 :
|
case 1 :
|
||||||
{
|
{
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSphereR( getRadius() );
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow( getOperation() )->MakeSphereR( getRadius() );
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -460,24 +460,26 @@ bool PrimitiveGUI_TorusDlg::execute (ObjectList& objects)
|
|||||||
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
if (!CORBA::is_nil(myPoint) && !CORBA::is_nil(myDir)) {
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeTorusPntVecRR(myPoint, myDir, getRadius1(), getRadius2());
|
MakeTorusPntVecRR(myPoint, myDir, getRadius1(), getRadius2());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupPoints->SpinBox_DX->text();
|
aParameters << GroupPoints->SpinBox_DX->text();
|
||||||
aParameters << GroupPoints->SpinBox_DY->text();
|
aParameters << GroupPoints->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())->
|
||||||
MakeTorusRR(getRadius1(), getRadius2());
|
MakeTorusRR(getRadius1(), getRadius2());
|
||||||
|
if (!anObj->_is_nil())
|
||||||
|
{
|
||||||
QStringList aParameters;
|
QStringList aParameters;
|
||||||
aParameters << GroupDimensions->SpinBox_DX->text();
|
aParameters << GroupDimensions->SpinBox_DX->text();
|
||||||
aParameters << GroupDimensions->SpinBox_DY->text();
|
aParameters << GroupDimensions->SpinBox_DY->text();
|
||||||
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
}
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -83,7 +83,7 @@ RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg( GeometryGUI* theGeometryGUI, Q
|
|||||||
myIsParameterGr->addButton( rb2, 1 );
|
myIsParameterGr->addButton( rb2, 1 );
|
||||||
rb1->setChecked( true );
|
rb1->setChecked( true );
|
||||||
|
|
||||||
myValEdt = new QDoubleSpinBox( GroupPoints->Box );
|
myValEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
|
||||||
initSpinBox( myValEdt, 0., 1., 0.1, 3 );
|
initSpinBox( myValEdt, 0., 1., 0.1, 3 );
|
||||||
myValEdt->setValue( 0.5 );
|
myValEdt->setValue( 0.5 );
|
||||||
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->Box );
|
QLabel* aLbl1 = new QLabel( tr( "GEOM_VALUE" ), GroupPoints->Box );
|
||||||
@ -338,9 +338,9 @@ GEOM::GEOM_IOperations_ptr RepairGUI_DivideEdgeDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_DivideEdgeDlg::isValid( QString& )
|
bool RepairGUI_DivideEdgeDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
return !myObject->_is_nil();
|
return !myObject->_is_nil() && myValEdt->isValid( msg, !IsPreview() );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -353,7 +353,15 @@ bool RepairGUI_DivideEdgeDlg::execute( ObjectList& objects )
|
|||||||
( myObject, -1, myValEdt->value(), getIsByParameter() );
|
( myObject, -1, myValEdt->value(), getIsByParameter() );
|
||||||
bool aResult = !anObj->_is_nil();
|
bool aResult = !anObj->_is_nil();
|
||||||
if ( aResult )
|
if ( aResult )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << "";
|
||||||
|
aParameters << myValEdt->text();
|
||||||
|
aParameters << "";
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include <GEOMBase_Skeleton.h>
|
#include <GEOMBase_Skeleton.h>
|
||||||
|
|
||||||
class DlgRef_1SelExt;
|
class DlgRef_1SelExt;
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QButtonGroup;
|
class QButtonGroup;
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -63,7 +63,7 @@ private:
|
|||||||
|
|
||||||
DlgRef_1SelExt* GroupPoints;
|
DlgRef_1SelExt* GroupPoints;
|
||||||
QButtonGroup* myIsParameterGr;
|
QButtonGroup* myIsParameterGr;
|
||||||
QDoubleSpinBox* myValEdt;
|
SalomeApp_DoubleSpinBox* myValEdt;
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
void ClickOnOk();
|
void ClickOnOk();
|
||||||
|
@ -81,7 +81,7 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg( GeometryGUI* theGeometryGUI, QWidget* pare
|
|||||||
GroupPoints->LineEdit1->setReadOnly( true );
|
GroupPoints->LineEdit1->setReadOnly( true );
|
||||||
|
|
||||||
QLabel* aTolLab = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
|
QLabel* aTolLab = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
|
||||||
myTolEdt = new QDoubleSpinBox( GroupPoints->Box );
|
myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
|
||||||
initSpinBox( myTolEdt, 0, 100, 1e-7, 7 );
|
initSpinBox( myTolEdt, 0, 100, 1e-7, 7 );
|
||||||
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
|
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg( GeometryGUI* theGeometryGUI, QWidget* pare
|
|||||||
GroupPoints2->LineEdit1->setReadOnly( true );
|
GroupPoints2->LineEdit1->setReadOnly( true );
|
||||||
|
|
||||||
QLabel* aTolLab2 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints2->Box );
|
QLabel* aTolLab2 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints2->Box );
|
||||||
myTolEdt2 = new QDoubleSpinBox( GroupPoints2->Box );
|
myTolEdt2 = new SalomeApp_DoubleSpinBox( GroupPoints2->Box );
|
||||||
initSpinBox( myTolEdt2, 0, 100, 1e-7, 7 );
|
initSpinBox( myTolEdt2, 0, 100, 1e-7, 7 );
|
||||||
myTolEdt2->setValue( DEFAULT_TOLERANCE_VALUE );
|
myTolEdt2->setValue( DEFAULT_TOLERANCE_VALUE );
|
||||||
|
|
||||||
@ -380,17 +380,22 @@ GEOM::GEOM_IOperations_ptr RepairGUI_GlueDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_GlueDlg::isValid( QString& )
|
bool RepairGUI_GlueDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
double v = 0;
|
double v = 0;
|
||||||
switch ( getConstructorId() )
|
switch ( getConstructorId() )
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
v = myTolEdt->value(); break;
|
v = myTolEdt->value();
|
||||||
|
ok = myTolEdt->isValid( msg, !IsPreview() );
|
||||||
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
v = myTolEdt2->value(); break;
|
v = myTolEdt2->value();
|
||||||
|
ok = myTolEdt2->isValid( msg, !IsPreview() );
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return !myObject->_is_nil() && ( IsPreview() || v > 0. );
|
return !myObject->_is_nil() && ( IsPreview() || v > 0. ) && ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -409,7 +414,13 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
|
|||||||
( getOperation() )->MakeGlueFaces( myObject, myTolEdt->value(), true );
|
( getOperation() )->MakeGlueFaces( myObject, myTolEdt->value(), true );
|
||||||
aResult = !anObj->_is_nil();
|
aResult = !anObj->_is_nil();
|
||||||
if ( aResult )
|
if ( aResult )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << myTolEdt->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
@ -456,7 +467,13 @@ bool RepairGUI_GlueDlg::execute( ObjectList& objects )
|
|||||||
aResult = !anObj->_is_nil();
|
aResult = !anObj->_is_nil();
|
||||||
|
|
||||||
if ( aResult )
|
if ( aResult )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << myTolEdt2->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
|
}
|
||||||
|
|
||||||
// Remove from engine useless objects
|
// Remove from engine useless objects
|
||||||
clearTemporary();
|
clearTemporary();
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include <GEOMBase_Skeleton.h>
|
#include <GEOMBase_Skeleton.h>
|
||||||
|
|
||||||
class DlgRef_1SelExt;
|
class DlgRef_1SelExt;
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
|
|
||||||
@ -73,8 +73,8 @@ private:
|
|||||||
|
|
||||||
DlgRef_1SelExt* GroupPoints;
|
DlgRef_1SelExt* GroupPoints;
|
||||||
DlgRef_1SelExt* GroupPoints2;
|
DlgRef_1SelExt* GroupPoints2;
|
||||||
QDoubleSpinBox* myTolEdt;
|
SalomeApp_DoubleSpinBox* myTolEdt;
|
||||||
QDoubleSpinBox* myTolEdt2;
|
SalomeApp_DoubleSpinBox* myTolEdt2;
|
||||||
QPushButton* myDetectBtn;
|
QPushButton* myDetectBtn;
|
||||||
QCheckBox* mySubShapesChk;
|
QCheckBox* mySubShapesChk;
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ RepairGUI_SewingDlg::RepairGUI_SewingDlg( GeometryGUI* theGeometryGUI, QWidget*
|
|||||||
|
|
||||||
QGridLayout* aLay = new QGridLayout( GroupPoints->Box );
|
QGridLayout* aLay = new QGridLayout( GroupPoints->Box );
|
||||||
aLay->setMargin( 0 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 0 ); aLay->setSpacing( 6 );
|
||||||
myTolEdt = new QDoubleSpinBox( GroupPoints->Box );
|
myTolEdt = new SalomeApp_DoubleSpinBox( GroupPoints->Box );
|
||||||
initSpinBox( myTolEdt, 0, 100, 1e-7, 10 );
|
initSpinBox( myTolEdt, 0, 100, 1e-7, 10 );
|
||||||
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
|
myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
|
||||||
QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
|
QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->Box );
|
||||||
@ -263,10 +263,10 @@ GEOM::GEOM_IOperations_ptr RepairGUI_SewingDlg::createOperation()
|
|||||||
// function : isValid
|
// function : isValid
|
||||||
// purpose :
|
// purpose :
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_SewingDlg::isValid( QString& )
|
bool RepairGUI_SewingDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
myClosed = -1;
|
myClosed = -1;
|
||||||
return !myObject->_is_nil() && ( IsPreview() || myTolEdt->value() > 0. );
|
return !myObject->_is_nil() && ( IsPreview() || myTolEdt->value() > 0. ) && myTolEdt->isValid( msg, !IsPreview() );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -297,8 +297,14 @@ bool RepairGUI_SewingDlg::execute( ObjectList& objects )
|
|||||||
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->Sew( myObject, myTolEdt->value() );
|
GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->Sew( myObject, myTolEdt->value() );
|
||||||
aResult = !anObj->_is_nil();
|
aResult = !anObj->_is_nil();
|
||||||
if ( aResult )
|
if ( aResult )
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
aParameters << myTolEdt->text();
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return aResult;
|
return aResult;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#include <GEOMBase_Skeleton.h>
|
#include <GEOMBase_Skeleton.h>
|
||||||
|
|
||||||
class DlgRef_1SelExt;
|
class DlgRef_1SelExt;
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -59,7 +59,7 @@ private:
|
|||||||
GEOM::GEOM_Object_var myObject;
|
GEOM::GEOM_Object_var myObject;
|
||||||
|
|
||||||
DlgRef_1SelExt* GroupPoints;
|
DlgRef_1SelExt* GroupPoints;
|
||||||
QDoubleSpinBox* myTolEdt;
|
SalomeApp_DoubleSpinBox* myTolEdt;
|
||||||
QPushButton* myFreeBoundBtn;
|
QPushButton* myFreeBoundBtn;
|
||||||
|
|
||||||
int myClosed; // Number of free closed boundaries detected. Calculated in execute(), used in onDetect().
|
int myClosed; // Number of free closed boundaries detected. Calculated in execute(), used in onDetect().
|
||||||
|
@ -31,6 +31,8 @@
|
|||||||
#include <GEOMImpl_Types.hxx>
|
#include <GEOMImpl_Types.hxx>
|
||||||
|
|
||||||
#include <SalomeApp_Application.h>
|
#include <SalomeApp_Application.h>
|
||||||
|
#include <SalomeApp_DoubleSpinBox.h>
|
||||||
|
#include <SalomeApp_IntSpinBox.h>
|
||||||
#include <LightApp_SelectionMgr.h>
|
#include <LightApp_SelectionMgr.h>
|
||||||
#include <SUIT_Session.h>
|
#include <SUIT_Session.h>
|
||||||
#include <SUIT_ResourceMgr.h>
|
#include <SUIT_ResourceMgr.h>
|
||||||
@ -123,9 +125,9 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
myFixShapeTol3D = new QDoubleSpinBox( w );
|
myFixShapeTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myFixShapeTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( myFixShapeTol3D, 0, 100, 1e-7, 10 );
|
||||||
myFixShapeMaxTol3D = new QDoubleSpinBox( w );
|
myFixShapeMaxTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myFixShapeMaxTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( myFixShapeMaxTol3D, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
||||||
@ -140,7 +142,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
myFixFaceSizeTol = new QDoubleSpinBox( w );
|
myFixFaceSizeTol = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myFixFaceSizeTol, 0, 100, 1e-7, 10 );
|
initSpinBox( myFixFaceSizeTol, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_TOLERANCE" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_TOLERANCE" ), w ), 0, 0 );
|
||||||
@ -153,7 +155,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
myDropSmallEdgesTol3D = new QDoubleSpinBox( w );
|
myDropSmallEdgesTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myDropSmallEdgesTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( myDropSmallEdgesTol3D, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
||||||
@ -166,9 +168,9 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
mySplitAngleAngle = new QDoubleSpinBox( w );
|
mySplitAngleAngle = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( mySplitAngleAngle, 0, 360, 1 );
|
initSpinBox( mySplitAngleAngle, 0, 360, 1 );
|
||||||
mySplitAngleMaxTol = new QDoubleSpinBox( w );
|
mySplitAngleMaxTol = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( mySplitAngleMaxTol, 0, 100, 1e-7, 10 );
|
initSpinBox( mySplitAngleMaxTol, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_ANGLE_1" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_ANGLE_1" ), w ), 0, 0 );
|
||||||
@ -183,7 +185,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
mySplitClosedFacesNum = new QSpinBox( w );
|
mySplitClosedFacesNum = new SalomeApp_IntSpinBox( w );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_NUM_SPLIT_POINTS" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_NUM_SPLIT_POINTS" ), w ), 0, 0 );
|
||||||
aLay->addWidget( mySplitClosedFacesNum, 0, 1 );
|
aLay->addWidget( mySplitClosedFacesNum, 0, 1 );
|
||||||
@ -195,7 +197,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
mySplitContTol3D = new QDoubleSpinBox( w );
|
mySplitContTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( mySplitContTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( mySplitContTol3D, 0, 100, 1e-7, 10 );
|
||||||
mySplitContSurfCont = new QComboBox( w );
|
mySplitContSurfCont = new QComboBox( w );
|
||||||
mySplitContSurfCont->addItems( aContinueties );
|
mySplitContSurfCont->addItems( aContinueties );
|
||||||
@ -220,14 +222,14 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
myBSpline3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
|
myBSpline3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
|
||||||
myBSpline2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
|
myBSpline2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
|
||||||
|
|
||||||
myBSplineTol3D = new QDoubleSpinBox( w );
|
myBSplineTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myBSplineTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( myBSplineTol3D, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
myBSplineTol2D = new QDoubleSpinBox( w );
|
myBSplineTol2D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myBSplineTol2D, 0, 100, 1e-7, 10 );
|
initSpinBox( myBSplineTol2D, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
myBSplineDegree = new QSpinBox( w );
|
myBSplineDegree = new SalomeApp_IntSpinBox( w );
|
||||||
myBSplineSegments = new QSpinBox( w );
|
myBSplineSegments = new SalomeApp_IntSpinBox( w );
|
||||||
myBSpline2DCont = new QComboBox( w );
|
myBSpline2DCont = new QComboBox( w );
|
||||||
myBSpline2DCont->addItems( aContinueties );
|
myBSpline2DCont->addItems( aContinueties );
|
||||||
myBSpline3DCont = new QComboBox( w );
|
myBSpline3DCont = new QComboBox( w );
|
||||||
@ -264,7 +266,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
myToBezier3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
|
myToBezier3DCurveChk = new QCheckBox( tr("GEOM_3D_CURVE_MODE"), w );
|
||||||
myToBezier2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
|
myToBezier2DCurveChk = new QCheckBox( tr("GEOM_2D_CURVE_MODE"), w );
|
||||||
|
|
||||||
myToBezierMaxTol = new QDoubleSpinBox( w );
|
myToBezierMaxTol = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( myToBezierMaxTol, 0, 100, 1e-7, 10 );
|
initSpinBox( myToBezierMaxTol, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( myToBezierSurfModeChk, 0, 0 );
|
aLay->addWidget( myToBezierSurfModeChk, 0, 0 );
|
||||||
@ -280,7 +282,7 @@ void RepairGUI_ShapeProcessDlg::init()
|
|||||||
QGridLayout* aLay = new QGridLayout( w );
|
QGridLayout* aLay = new QGridLayout( w );
|
||||||
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
aLay->setMargin( 9 ); aLay->setSpacing( 6 );
|
||||||
|
|
||||||
mySameParameterTol3D = new QDoubleSpinBox( w );
|
mySameParameterTol3D = new SalomeApp_DoubleSpinBox( w );
|
||||||
initSpinBox( mySameParameterTol3D, 0, 100, 1e-7, 10 );
|
initSpinBox( mySameParameterTol3D, 0, 100, 1e-7, 10 );
|
||||||
|
|
||||||
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
aLay->addWidget( new QLabel( tr( "GEOM_3D_TOLERANCE" ), w ), 0, 0 );
|
||||||
@ -508,10 +510,10 @@ void RepairGUI_ShapeProcessDlg::loadDefaults()
|
|||||||
void RepairGUI_ShapeProcessDlg::setValue( QWidget* theControl, const QString& theValue )
|
void RepairGUI_ShapeProcessDlg::setValue( QWidget* theControl, const QString& theValue )
|
||||||
{
|
{
|
||||||
if ( theControl && !theValue.isNull() ) {
|
if ( theControl && !theValue.isNull() ) {
|
||||||
if ( qobject_cast<QDoubleSpinBox*>( theControl ) )
|
if ( qobject_cast<SalomeApp_DoubleSpinBox*>( theControl ) )
|
||||||
qobject_cast<QDoubleSpinBox*>( theControl )->setValue( theValue.toDouble() );
|
qobject_cast<SalomeApp_DoubleSpinBox*>( theControl )->setValue( theValue.toDouble() );
|
||||||
else if ( qobject_cast<QSpinBox*>( theControl ) )
|
else if ( qobject_cast<SalomeApp_IntSpinBox*>( theControl ) )
|
||||||
qobject_cast<QSpinBox*>( theControl )->setValue( theValue.toInt() );
|
qobject_cast<SalomeApp_IntSpinBox*>( theControl )->setValue( theValue.toInt() );
|
||||||
else if ( qobject_cast<QComboBox*>( theControl ) )
|
else if ( qobject_cast<QComboBox*>( theControl ) )
|
||||||
qobject_cast<QComboBox*>( theControl )->setEditText( theValue );
|
qobject_cast<QComboBox*>( theControl )->setEditText( theValue );
|
||||||
else if ( qobject_cast<QCheckBox*>( theControl ) )
|
else if ( qobject_cast<QCheckBox*>( theControl ) )
|
||||||
@ -526,10 +528,10 @@ void RepairGUI_ShapeProcessDlg::setValue( QWidget* theControl, const QString& th
|
|||||||
QString RepairGUI_ShapeProcessDlg::getValue( QWidget* theControl ) const
|
QString RepairGUI_ShapeProcessDlg::getValue( QWidget* theControl ) const
|
||||||
{
|
{
|
||||||
if ( theControl ) {
|
if ( theControl ) {
|
||||||
if ( qobject_cast<QDoubleSpinBox*>( theControl ) )
|
if ( qobject_cast<SalomeApp_DoubleSpinBox*>( theControl ) )
|
||||||
return QString::number( qobject_cast<QDoubleSpinBox*>( theControl )->value() );
|
return QString::number( qobject_cast<SalomeApp_DoubleSpinBox*>( theControl )->value() );
|
||||||
else if ( qobject_cast<QSpinBox*>( theControl ) )
|
else if ( qobject_cast<SalomeApp_IntSpinBox*>( theControl ) )
|
||||||
return QString::number( qobject_cast<QSpinBox*>( theControl )->value() );
|
return QString::number( qobject_cast<SalomeApp_IntSpinBox*>( theControl )->value() );
|
||||||
else if ( qobject_cast<QComboBox*>( theControl ) )
|
else if ( qobject_cast<QComboBox*>( theControl ) )
|
||||||
return qobject_cast<QComboBox*>( theControl )->currentText();
|
return qobject_cast<QComboBox*>( theControl )->currentText();
|
||||||
else if ( qobject_cast<QCheckBox*>( theControl ) )
|
else if ( qobject_cast<QCheckBox*>( theControl ) )
|
||||||
@ -538,6 +540,21 @@ QString RepairGUI_ShapeProcessDlg::getValue( QWidget* theControl ) const
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : getText()
|
||||||
|
// purpose : get text in the proper way
|
||||||
|
//=================================================================================
|
||||||
|
QString RepairGUI_ShapeProcessDlg::getText( QWidget* theControl ) const
|
||||||
|
{
|
||||||
|
if ( theControl ) {
|
||||||
|
if ( qobject_cast<SalomeApp_DoubleSpinBox*>( theControl ) )
|
||||||
|
return qobject_cast<SalomeApp_DoubleSpinBox*>( theControl )->text();
|
||||||
|
else if ( qobject_cast<SalomeApp_IntSpinBox*>( theControl ) )
|
||||||
|
return qobject_cast<SalomeApp_IntSpinBox*>( theControl )->text();
|
||||||
|
}
|
||||||
|
return QString::null;
|
||||||
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : createOperation
|
// function : createOperation
|
||||||
// purpose :
|
// purpose :
|
||||||
@ -553,6 +570,22 @@ GEOM::GEOM_IOperations_ptr RepairGUI_ShapeProcessDlg::createOperation()
|
|||||||
//=================================================================================
|
//=================================================================================
|
||||||
bool RepairGUI_ShapeProcessDlg::isValid( QString& msg )
|
bool RepairGUI_ShapeProcessDlg::isValid( QString& msg )
|
||||||
{
|
{
|
||||||
|
bool ok = true;
|
||||||
|
QMapIterator<QString,QStringList> aMapIter( myValMap );
|
||||||
|
while( aMapIter.hasNext() ) {
|
||||||
|
aMapIter.next();
|
||||||
|
const QStringList& aList = aMapIter.value();
|
||||||
|
QListIterator<QString> aListIter( aList );
|
||||||
|
while( aListIter.hasNext() ) {
|
||||||
|
const QString& aParam = aListIter.next();
|
||||||
|
QWidget* aControl = getControl( aParam );
|
||||||
|
if ( qobject_cast<SalomeApp_DoubleSpinBox*>( aControl ) )
|
||||||
|
ok = qobject_cast<SalomeApp_DoubleSpinBox*>( aControl )->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
else if ( qobject_cast<SalomeApp_IntSpinBox*>( aControl ) )
|
||||||
|
ok = qobject_cast<SalomeApp_IntSpinBox*>( aControl )->isValid( msg, !IsPreview() ) && ok;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool error = false;
|
bool error = false;
|
||||||
GEOM::string_array_var anOperators = getActiveOperators();
|
GEOM::string_array_var anOperators = getActiveOperators();
|
||||||
if ( !myObjects->length() ) {
|
if ( !myObjects->length() ) {
|
||||||
@ -565,7 +598,7 @@ bool RepairGUI_ShapeProcessDlg::isValid( QString& msg )
|
|||||||
msg += tr( "ERROR_NO_OPERATORS" );
|
msg += tr( "ERROR_NO_OPERATORS" );
|
||||||
error = true;
|
error = true;
|
||||||
}
|
}
|
||||||
return !error;
|
return !error && ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
@ -603,8 +636,21 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
|
|||||||
if ( anObj->_is_nil() )
|
if ( anObj->_is_nil() )
|
||||||
anErrorObjNames << GEOMBase::GetName( obj );
|
anErrorObjNames << GEOMBase::GetName( obj );
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
QStringList aParameters;
|
||||||
|
|
||||||
|
for ( int i = 0; i < anOperators->length(); i++ )
|
||||||
|
aParameters << QString( anOperators[i] );
|
||||||
|
|
||||||
|
for ( int i = 0; i < aParams->length(); i++ )
|
||||||
|
aParameters << QString( aParams[i] );
|
||||||
|
|
||||||
|
aParameters << getTexts( aParams );
|
||||||
|
anObj->SetParameters(GeometryGUI::JoinObjectParameters(aParameters));
|
||||||
|
|
||||||
objects.push_back( anObj._retn() );
|
objects.push_back( anObj._retn() );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( !anErrorObjNames.empty() )
|
if ( !anErrorObjNames.empty() )
|
||||||
MESSAGE( "ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ).toLatin1().data() );
|
MESSAGE( "ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ).toLatin1().data() );
|
||||||
@ -764,6 +810,27 @@ GEOM::string_array* RepairGUI_ShapeProcessDlg::getValues( const GEOM::string_arr
|
|||||||
return aValues._retn();
|
return aValues._retn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=================================================================================
|
||||||
|
// function : getTexts
|
||||||
|
// purpose :
|
||||||
|
//=================================================================================
|
||||||
|
QStringList RepairGUI_ShapeProcessDlg::getTexts( const GEOM::string_array& theParams )
|
||||||
|
{
|
||||||
|
QStringList aTexts;
|
||||||
|
|
||||||
|
for ( int i = 0; i < theParams.length(); i++ ) {
|
||||||
|
QWidget* aCtrl = getControl( (const char*)theParams[i] );
|
||||||
|
if ( aCtrl )
|
||||||
|
{
|
||||||
|
QString aText = getText( aCtrl );
|
||||||
|
if( !aText.isNull() )
|
||||||
|
aTexts.append( aText );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return aTexts;
|
||||||
|
}
|
||||||
|
|
||||||
//=================================================================================
|
//=================================================================================
|
||||||
// function : initSelection
|
// function : initSelection
|
||||||
// purpose : set selection of ALL shape types except vertexes
|
// purpose : set selection of ALL shape types except vertexes
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
class DlgRef_1Sel;
|
class DlgRef_1Sel;
|
||||||
class QSpinBox;
|
class SalomeApp_IntSpinBox;
|
||||||
class QDoubleSpinBox;
|
class SalomeApp_DoubleSpinBox;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QListWidget;
|
class QListWidget;
|
||||||
@ -64,12 +64,15 @@ private:
|
|||||||
GEOM::string_array* getParameters( const GEOM::string_array& );
|
GEOM::string_array* getParameters( const GEOM::string_array& );
|
||||||
GEOM::string_array* getValues( const GEOM::string_array& );
|
GEOM::string_array* getValues( const GEOM::string_array& );
|
||||||
|
|
||||||
|
QStringList getTexts( const GEOM::string_array& );
|
||||||
|
|
||||||
void enterEvent( QEvent* );
|
void enterEvent( QEvent* );
|
||||||
|
|
||||||
QWidget* getControl( const QString& );
|
QWidget* getControl( const QString& );
|
||||||
void setValue( QWidget*, const QString& ); // initialize the given control in the proper way
|
void setValue( QWidget*, const QString& ); // initialize the given control in the proper way
|
||||||
// (analize its class and convert the value string)
|
// (analize its class and convert the value string)
|
||||||
QString getValue( QWidget* ) const; // retrieve value of the control in the proper way
|
QString getValue( QWidget* ) const; // retrieve value of the control in the proper way
|
||||||
|
QString getText( QWidget* ) const; // retrieve text of the control (for spin-boxes only)
|
||||||
|
|
||||||
//QDict<QString,QWidget*> myCtrlMap; // map of controls (values) of parameters
|
//QDict<QString,QWidget*> myCtrlMap; // map of controls (values) of parameters
|
||||||
void initParamsValues(); // initialize the data structures
|
void initParamsValues(); // initialize the data structures
|
||||||
@ -84,38 +87,38 @@ private:
|
|||||||
DlgRef_1Sel* mySelectWdgt;
|
DlgRef_1Sel* mySelectWdgt;
|
||||||
QListWidget* myOpList;
|
QListWidget* myOpList;
|
||||||
|
|
||||||
QDoubleSpinBox* myFixShapeTol3D;
|
SalomeApp_DoubleSpinBox* myFixShapeTol3D;
|
||||||
QDoubleSpinBox* myFixShapeMaxTol3D;
|
SalomeApp_DoubleSpinBox* myFixShapeMaxTol3D;
|
||||||
|
|
||||||
QDoubleSpinBox* myFixFaceSizeTol;
|
SalomeApp_DoubleSpinBox* myFixFaceSizeTol;
|
||||||
|
|
||||||
QDoubleSpinBox* myDropSmallEdgesTol3D;
|
SalomeApp_DoubleSpinBox* myDropSmallEdgesTol3D;
|
||||||
|
|
||||||
QDoubleSpinBox* mySplitAngleAngle;
|
SalomeApp_DoubleSpinBox* mySplitAngleAngle;
|
||||||
QDoubleSpinBox* mySplitAngleMaxTol;
|
SalomeApp_DoubleSpinBox* mySplitAngleMaxTol;
|
||||||
|
|
||||||
QSpinBox* mySplitClosedFacesNum;
|
SalomeApp_IntSpinBox* mySplitClosedFacesNum;
|
||||||
|
|
||||||
QDoubleSpinBox* mySplitContTol3D;
|
SalomeApp_DoubleSpinBox* mySplitContTol3D;
|
||||||
QComboBox* mySplitContSurfCont;
|
QComboBox* mySplitContSurfCont;
|
||||||
QComboBox* mySplitContCurvCont;
|
QComboBox* mySplitContCurvCont;
|
||||||
|
|
||||||
QCheckBox* myBSplineSurfModeChk;
|
QCheckBox* myBSplineSurfModeChk;
|
||||||
QCheckBox* myBSpline3DCurveChk;
|
QCheckBox* myBSpline3DCurveChk;
|
||||||
QCheckBox* myBSpline2DCurveChk;
|
QCheckBox* myBSpline2DCurveChk;
|
||||||
QDoubleSpinBox* myBSplineTol3D;
|
SalomeApp_DoubleSpinBox* myBSplineTol3D;
|
||||||
QDoubleSpinBox* myBSplineTol2D;
|
SalomeApp_DoubleSpinBox* myBSplineTol2D;
|
||||||
QSpinBox* myBSplineDegree;
|
SalomeApp_IntSpinBox* myBSplineDegree;
|
||||||
QSpinBox* myBSplineSegments;
|
SalomeApp_IntSpinBox* myBSplineSegments;
|
||||||
QComboBox* myBSpline2DCont;
|
QComboBox* myBSpline2DCont;
|
||||||
QComboBox* myBSpline3DCont;
|
QComboBox* myBSpline3DCont;
|
||||||
|
|
||||||
QCheckBox* myToBezierSurfModeChk;
|
QCheckBox* myToBezierSurfModeChk;
|
||||||
QCheckBox* myToBezier3DCurveChk;
|
QCheckBox* myToBezier3DCurveChk;
|
||||||
QCheckBox* myToBezier2DCurveChk;
|
QCheckBox* myToBezier2DCurveChk;
|
||||||
QDoubleSpinBox* myToBezierMaxTol;
|
SalomeApp_DoubleSpinBox* myToBezierMaxTol;
|
||||||
|
|
||||||
QDoubleSpinBox* mySameParameterTol3D;
|
SalomeApp_DoubleSpinBox* mySameParameterTol3D;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onOk();
|
void onOk();
|
||||||
|
Loading…
Reference in New Issue
Block a user