IPAL20712 5x: Couldn't select plane as "Face-Selection"

This commit is contained in:
dmv 2008-12-01 10:32:42 +00:00
parent 6e1135c999
commit feaba17527
11 changed files with 231 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -27,7 +27,8 @@ of the plane).
\image html plane2.png \image html plane2.png
\n Finally, you can define a \b Plane by another \b Plane or <b>Local \n Finally, you can define a \b Plane by another \b Plane or <b>Local
Coordinate System</b> and a <b>Size of the Plane</b>. Coordinate System</b> and a <b>Size of the Plane</b>. To change selection type cilck the corresponding
radio button "Face" or "Local Coordinate System".
\n <b>TUI Command:</b> <em>geompy.MakePlaneFace(Face, TrimSize)</em> \n <b>TUI Command:</b> <em>geompy.MakePlaneFace(Face, TrimSize)</em>
\n <b>Arguments:</b> Name + 1 face + 1 value (to define the size of \n <b>Arguments:</b> Name + 1 face + 1 value (to define the size of
the plane). the plane).

View File

@ -100,7 +100,11 @@ BasicGUI_PlaneDlg::BasicGUI_PlaneDlg( GeometryGUI* theGeometryGUI, QWidget* pare
Group3Pnts->LineEdit2->setEnabled( false ); Group3Pnts->LineEdit2->setEnabled( false );
Group3Pnts->LineEdit3->setEnabled( false ); Group3Pnts->LineEdit3->setEnabled( false );
GroupFace = new DlgRef_1Sel1Spin( centralWidget() ); GroupFace = new DlgRef_3Radio1Sel1Spin( centralWidget() );
GroupFace->RadioButton1->setText(tr("GEOM_FACE"));
GroupFace->RadioButton2->setText(tr("GEOM_LCS"));
GroupFace->RadioButton3->setAttribute( Qt::WA_DeleteOnClose );
GroupFace->RadioButton3->close();
GroupFace->GroupBox1->setTitle( tr( "GEOM_FACE_OR_LCS" ) ); GroupFace->GroupBox1->setTitle( tr( "GEOM_FACE_OR_LCS" ) );
GroupFace->TextLabel1->setText( tr( "GEOM_SELECTION" ) ); GroupFace->TextLabel1->setText( tr( "GEOM_SELECTION" ) );
GroupFace->TextLabel2->setText( tr( "GEOM_PLANE_SIZE" ) ); GroupFace->TextLabel2->setText( tr( "GEOM_PLANE_SIZE" ) );
@ -139,6 +143,7 @@ void BasicGUI_PlaneDlg::Init()
{ {
/* init variables */ /* init variables */
myEditCurrentArgument = GroupPntDir->LineEdit1; myEditCurrentArgument = GroupPntDir->LineEdit1;
GroupFace->RadioButton1->setChecked(true);
myPoint = myDir = myPoint1 = myPoint2 = myPoint3 = myFace = GEOM::GEOM_Object::_nil(); myPoint = myDir = myPoint1 = myPoint2 = myPoint3 = myFace = GEOM::GEOM_Object::_nil();
@ -180,6 +185,8 @@ void BasicGUI_PlaneDlg::Init()
connect( Group3Pnts->LineEdit2, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) ); connect( Group3Pnts->LineEdit2, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) );
connect( Group3Pnts->LineEdit3, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) ); connect( Group3Pnts->LineEdit3, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) );
connect( GroupFace->LineEdit1, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) ); connect( GroupFace->LineEdit1, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) );
connect( GroupFace->RadioButton1,SIGNAL( clicked() ), this, SLOT( SelectionTypeClicked() ) );
connect( GroupFace->RadioButton2,SIGNAL( clicked() ), this, SLOT( SelectionTypeClicked() ) );
connect( GroupPntDir->SpinBox_DX, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); connect( GroupPntDir->SpinBox_DX, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
connect( Group3Pnts->SpinBox_DX, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); connect( Group3Pnts->SpinBox_DX, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) );
@ -205,6 +212,25 @@ void BasicGUI_PlaneDlg::SetDoubleSpinBoxStep( double step )
GroupFace->SpinBox_DX->setSingleStep(step); GroupFace->SpinBox_DX->setSingleStep(step);
} }
//=================================================================================
// function : SelectionTypeClicked()
// purpose : Selection type radio buttons managment
//=================================================================================
void BasicGUI_PlaneDlg::SelectionTypeClicked()
{
myFace = GEOM::GEOM_Object::_nil();
if ( GroupFace->RadioButton1->isChecked()) {
globalSelection(); // close local contexts, if any
localSelection( GEOM::GEOM_Object::_nil(), TopAbs_FACE );
} else if ( GroupFace->RadioButton2->isChecked()) {
TColStd_MapOfInteger aMap;
aMap.Add( GEOM_PLANE );
aMap.Add( GEOM_MARKER );
globalSelection( aMap );
}
displayPreview();
}
//================================================================================= //=================================================================================
// function : ConstructorsClicked() // function : ConstructorsClicked()
@ -257,7 +283,7 @@ void BasicGUI_PlaneDlg::ConstructorsClicked( int constructorId )
localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX ); localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
break; break;
} }
case 2: /* plane from a planar face selection */ case 2: /* plane from a planar face or LSC selection */
{ {
GroupPntDir->hide(); GroupPntDir->hide();
Group3Pnts->hide(); Group3Pnts->hide();
@ -267,12 +293,15 @@ void BasicGUI_PlaneDlg::ConstructorsClicked( int constructorId )
GroupFace->LineEdit1->setText( "" ); GroupFace->LineEdit1->setText( "" );
GroupFace->PushButton1->setDown( true ); GroupFace->PushButton1->setDown( true );
/* for the first argument */ if ( GroupFace->RadioButton1->isChecked()) {
//globalSelection( GEOM_PLANE ); globalSelection(); // close local contexts, if any
TColStd_MapOfInteger aMap; localSelection( GEOM::GEOM_Object::_nil(), TopAbs_FACE );
aMap.Add( GEOM_PLANE ); } else if ( GroupFace->RadioButton2->isChecked()) {
aMap.Add( GEOM_MARKER ); TColStd_MapOfInteger aMap;
globalSelection( aMap ); aMap.Add( GEOM_PLANE );
aMap.Add( GEOM_MARKER );
globalSelection( aMap );
}
break; break;
} }
} }
@ -342,6 +371,8 @@ void BasicGUI_PlaneDlg::SelectionIntoArgument()
TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX; TopAbs_ShapeEnum aNeedType = TopAbs_VERTEX;
if ( myEditCurrentArgument == GroupPntDir->LineEdit2 ) if ( myEditCurrentArgument == GroupPntDir->LineEdit2 )
aNeedType = TopAbs_EDGE; aNeedType = TopAbs_EDGE;
else if ( myEditCurrentArgument == GroupFace->LineEdit1 )
aNeedType = TopAbs_FACE;
TopoDS_Shape aShape; TopoDS_Shape aShape;
if ( GEOMBase::GetShape( aSelectedObject, aShape, TopAbs_SHAPE ) && !aShape.IsNull() ) { if ( GEOMBase::GetShape( aSelectedObject, aShape, TopAbs_SHAPE ) && !aShape.IsNull() ) {
@ -377,7 +408,7 @@ void BasicGUI_PlaneDlg::SelectionIntoArgument()
myEditCurrentArgument->setText( aName ); myEditCurrentArgument->setText( aName );
if (!aSelectedObject->_is_nil()) { // clear selection if something selected /* if (!aSelectedObject->_is_nil()) { // clear selection if something selected
globalSelection(); globalSelection();
if ( myEditCurrentArgument == GroupFace->LineEdit1 ) { if ( myEditCurrentArgument == GroupFace->LineEdit1 ) {
TColStd_MapOfInteger aMap; TColStd_MapOfInteger aMap;
@ -387,7 +418,7 @@ void BasicGUI_PlaneDlg::SelectionIntoArgument()
} }
else else
localSelection( GEOM::GEOM_Object::_nil(), aNeedType ); localSelection( GEOM::GEOM_Object::_nil(), aNeedType );
} }*/
if ( myEditCurrentArgument == GroupPntDir->LineEdit1 ) { if ( myEditCurrentArgument == GroupPntDir->LineEdit1 ) {
myPoint = aSelectedObject; myPoint = aSelectedObject;

View File

@ -31,6 +31,7 @@
class DlgRef_1Sel1Spin; class DlgRef_1Sel1Spin;
class DlgRef_2Sel1Spin; class DlgRef_2Sel1Spin;
class DlgRef_3Sel1Spin; class DlgRef_3Sel1Spin;
class DlgRef_3Radio1Sel1Spin;
//================================================================================= //=================================================================================
// class : BasicGUI_PlaneDlg // class : BasicGUI_PlaneDlg
@ -61,7 +62,7 @@ private:
DlgRef_2Sel1Spin* GroupPntDir; DlgRef_2Sel1Spin* GroupPntDir;
DlgRef_3Sel1Spin* Group3Pnts; DlgRef_3Sel1Spin* Group3Pnts;
DlgRef_1Sel1Spin* GroupFace; DlgRef_3Radio1Sel1Spin* GroupFace;
private slots: private slots:
void ClickOnOk(); void ClickOnOk();
@ -76,6 +77,7 @@ private slots:
void ConstructorsClicked( int ); void ConstructorsClicked( int );
void ValueChangedInSpinBox( double ); void ValueChangedInSpinBox( double );
void SetDoubleSpinBoxStep( double ); void SetDoubleSpinBoxStep( double );
void SelectionTypeClicked();
}; };
#endif // BASICGUI_PLANEDLG_H #endif // BASICGUI_PLANEDLG_H

View File

@ -485,6 +485,20 @@ DlgRef_3Radio::~DlgRef_3Radio()
{ {
} }
//////////////////////////////////////////
// DlgRef_3Radio1Sel1Spin
//////////////////////////////////////////
DlgRef_3Radio1Sel1Spin::DlgRef_3Radio1Sel1Spin( QWidget* parent, Qt::WindowFlags f )
: QWidget( parent, f )
{
setupUi( this );
}
DlgRef_3Radio1Sel1Spin::~DlgRef_3Radio1Sel1Spin()
{
}
////////////////////////////////////////// //////////////////////////////////////////
// DlgRef_3Sel1Check // DlgRef_3Sel1Check
////////////////////////////////////////// //////////////////////////////////////////

View File

@ -564,6 +564,22 @@ public:
~DlgRef_3Radio(); ~DlgRef_3Radio();
}; };
//////////////////////////////////////////
// DlgRef_1Sel3Radio1Sel1Spin
//////////////////////////////////////////
#include "ui_DlgRef_3Radio1Sel1Spin_QTD.h"
class DLGREF_EXPORT DlgRef_3Radio1Sel1Spin : public QWidget,
public Ui::DlgRef_3Radio1Sel1Spin_QTD
{
Q_OBJECT
public:
DlgRef_3Radio1Sel1Spin( QWidget* = 0, Qt::WindowFlags = 0 );
~DlgRef_3Radio1Sel1Spin();
};
////////////////////////////////////////// //////////////////////////////////////////
// DlgRef_3Sel1Check // DlgRef_3Sel1Check
////////////////////////////////////////// //////////////////////////////////////////

View File

@ -0,0 +1,150 @@
<ui version="4.0" >
<class>DlgRef_3Radio1Sel1Spin_QTD</class>
<widget class="QWidget" name="DlgRef_3Radio1Sel1Spin_QTD" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>357</width>
<height>131</height>
</rect>
</property>
<property name="windowTitle" >
<string/>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>0</number>
</property>
<item row="0" column="0" >
<widget class="QGroupBox" name="GroupBox1" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>357</width>
<height>131</height>
</size>
</property>
<property name="title" >
<string/>
</property>
<layout class="QGridLayout" name="gridLayout" >
<item row="0" column="0" colspan="3" >
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QRadioButton" name="RadioButton1" >
<property name="text" >
<string>RadioButton1</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="RadioButton2" >
<property name="text" >
<string>RadioButton2</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="RadioButton3" >
<property name="text" >
<string>RadioButton3</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="TextLabel1" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>TL1</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QPushButton" name="PushButton1" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string/>
</property>
</widget>
</item>
<item row="1" column="2" >
<widget class="QLineEdit" name="LineEdit1" />
</item>
<item row="2" column="0" >
<widget class="QLabel" name="TextLabel2" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>TL2</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2" >
<widget class="QtxDoubleSpinBox" name="SpinBox_DX" />
</item>
<item row="3" column="2" >
<spacer name="verticalSpacer" >
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0" >
<size>
<width>256</width>
<height>19</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<customwidgets>
<customwidget>
<class>QtxDoubleSpinBox</class>
<extends>QDoubleSpinBox</extends>
<header location="global" >QtxDoubleSpinBox.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>PushButton1</tabstop>
<tabstop>LineEdit1</tabstop>
<tabstop>SpinBox_DX</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -71,6 +71,7 @@ UIC_FILES = \
ui_DlgRef_2Spin_QTD.h \ ui_DlgRef_2Spin_QTD.h \
ui_DlgRef_3Check_QTD.h \ ui_DlgRef_3Check_QTD.h \
ui_DlgRef_3Radio_QTD.h \ ui_DlgRef_3Radio_QTD.h \
ui_DlgRef_3Radio1Sel1Spin_QTD.h \
ui_DlgRef_3Sel1Check_QTD.h \ ui_DlgRef_3Sel1Check_QTD.h \
ui_DlgRef_3Sel1Spin_QTD.h \ ui_DlgRef_3Sel1Spin_QTD.h \
ui_DlgRef_3Sel3Spin1Check_QTD.h \ ui_DlgRef_3Sel3Spin1Check_QTD.h \

View File

@ -552,6 +552,10 @@ Please, select face, shell or solid and try again</translation>
<source>GEOM_FACE</source> <source>GEOM_FACE</source>
<translation>Face</translation> <translation>Face</translation>
</message> </message>
<message>
<source>GEOM_LCS</source>
<translation>Local coordinate system</translation>
</message>
<message> <message>
<source>GEOM_FACES</source> <source>GEOM_FACES</source>
<translation>Faces</translation> <translation>Faces</translation>