mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-10 03:53:07 +05:00
IPAL52206: TC7.3.0: Wrong step of multi-translation if point is selected
This commit is contained in:
parent
50ac82e2be
commit
ac566d76d9
@ -174,11 +174,11 @@ void TransformationGUI_MultiRotationDlg::ConstructorsClicked (int constructorId)
|
|||||||
{
|
{
|
||||||
disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
||||||
|
|
||||||
myBase.nullify();
|
//myBase.nullify();
|
||||||
myVector.nullify();
|
//myVector.nullify();
|
||||||
|
|
||||||
GroupArgs->LineEdit1->setText("");
|
//GroupArgs->LineEdit1->setText("");
|
||||||
GroupArgs->LineEdit2->setText("");
|
//GroupArgs->LineEdit2->setText("");
|
||||||
|
|
||||||
GroupArgs->SpinBox_DX1->setValue(myAng);
|
GroupArgs->SpinBox_DX1->setValue(myAng);
|
||||||
GroupArgs->SpinBox_DY1->setValue(myNbTimes1);
|
GroupArgs->SpinBox_DY1->setValue(myNbTimes1);
|
||||||
@ -294,10 +294,10 @@ void TransformationGUI_MultiRotationDlg::SelectionIntoArgument()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// clear selection
|
// clear selection
|
||||||
disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
// disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
||||||
myGeomGUI->getApp()->selectionMgr()->clearSelected();
|
// myGeomGUI->getApp()->selectionMgr()->clearSelected();
|
||||||
connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
// connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
||||||
this, SLOT(SelectionIntoArgument()));
|
// this, SLOT(SelectionIntoArgument()));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ( myEditCurrentArgument == GroupArgs->LineEdit1 )
|
if ( myEditCurrentArgument == GroupArgs->LineEdit1 )
|
||||||
|
@ -239,15 +239,21 @@ void TransformationGUI_MultiTranslationDlg::ConstructorsClicked (int constructor
|
|||||||
GroupDimensions->hide();
|
GroupDimensions->hide();
|
||||||
GroupPoints->show();
|
GroupPoints->show();
|
||||||
|
|
||||||
GroupPoints->LineEdit1->setText("");
|
//GroupPoints->LineEdit1->setText("");
|
||||||
GroupPoints->LineEdit2->setText("");
|
//GroupPoints->LineEdit2->setText("");
|
||||||
myBase.nullify();
|
//myBase.nullify();
|
||||||
myVectorU.nullify();
|
//myVectorU.nullify();
|
||||||
|
|
||||||
|
if ( myBase ) GroupDimensions->LineEdit1->setText( GEOMBase::GetName( myBase.get() ) );
|
||||||
|
if ( myVectorU ) GroupDimensions->LineEdit2->setText( GEOMBase::GetName( myVectorU.get() ) );
|
||||||
|
|
||||||
GroupPoints->SpinBox_DX->setValue(myStepU);
|
GroupPoints->SpinBox_DX->setValue(myStepU);
|
||||||
GroupPoints->SpinBox_DY->setValue(myNbTimesU);
|
GroupPoints->SpinBox_DY->setValue(myNbTimesU);
|
||||||
|
|
||||||
|
if ( !myBase )
|
||||||
GroupPoints->PushButton1->click();
|
GroupPoints->PushButton1->click();
|
||||||
|
else if ( !myVectorU )
|
||||||
|
GroupPoints->PushButton2->click();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 1: // Translate double
|
case 1: // Translate double
|
||||||
@ -255,19 +261,28 @@ void TransformationGUI_MultiTranslationDlg::ConstructorsClicked (int constructor
|
|||||||
GroupPoints->hide();
|
GroupPoints->hide();
|
||||||
GroupDimensions->show();
|
GroupDimensions->show();
|
||||||
|
|
||||||
GroupDimensions->LineEdit1->setText("");
|
//GroupDimensions->LineEdit1->setText("");
|
||||||
GroupDimensions->LineEdit2->setText("");
|
//GroupDimensions->LineEdit2->setText("");
|
||||||
GroupDimensions->LineEdit3->setText("");
|
//GroupDimensions->LineEdit3->setText("");
|
||||||
myBase.nullify();
|
//myBase.nullify();
|
||||||
myVectorU.nullify();
|
//myVectorU.nullify();
|
||||||
myVectorV.nullify();
|
//myVectorV.nullify();
|
||||||
|
|
||||||
|
if ( myBase ) GroupDimensions->LineEdit1->setText( GEOMBase::GetName( myBase.get() ) );
|
||||||
|
if ( myVectorU ) GroupDimensions->LineEdit2->setText( GEOMBase::GetName( myVectorU.get() ) );
|
||||||
|
if ( myVectorV ) GroupDimensions->LineEdit3->setText( GEOMBase::GetName( myVectorV.get() ) );
|
||||||
|
|
||||||
GroupDimensions->SpinBox_DX1->setValue(myStepU);
|
GroupDimensions->SpinBox_DX1->setValue(myStepU);
|
||||||
GroupDimensions->SpinBox_DY1->setValue(myNbTimesU);
|
GroupDimensions->SpinBox_DY1->setValue(myNbTimesU);
|
||||||
GroupDimensions->SpinBox_DX2->setValue(myStepV);
|
GroupDimensions->SpinBox_DX2->setValue(myStepV);
|
||||||
GroupDimensions->SpinBox_DY2->setValue(myNbTimesV);
|
GroupDimensions->SpinBox_DY2->setValue(myNbTimesV);
|
||||||
|
|
||||||
|
if ( !myBase )
|
||||||
GroupDimensions->PushButton1->click();
|
GroupDimensions->PushButton1->click();
|
||||||
|
else if ( !myVectorU )
|
||||||
|
GroupDimensions->PushButton2->click();
|
||||||
|
else if ( !myVectorV )
|
||||||
|
GroupDimensions->PushButton3->click();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -329,7 +344,7 @@ void TransformationGUI_MultiTranslationDlg::SelectionIntoArgument()
|
|||||||
QString aName = GEOMBase::GetName( aSelectedObject.get() );
|
QString aName = GEOMBase::GetName( aSelectedObject.get() );
|
||||||
myEditCurrentArgument->setText( aName );
|
myEditCurrentArgument->setText( aName );
|
||||||
|
|
||||||
if ( myEditCurrentArgument == GroupPoints->LineEdit1 ) {
|
if ( myEditCurrentArgument == GroupPoints->LineEdit1 || myEditCurrentArgument == GroupDimensions->LineEdit1 ) {
|
||||||
myBase = aSelectedObject;
|
myBase = aSelectedObject;
|
||||||
|
|
||||||
// recompute myStepU (Mantis issue 0021718)
|
// recompute myStepU (Mantis issue 0021718)
|
||||||
@ -338,36 +353,26 @@ void TransformationGUI_MultiTranslationDlg::SelectionIntoArgument()
|
|||||||
anOper->GetBoundingBox(myBase.get(), true, Xmin, Xmax, Ymin, Ymax, Zmin, Zmax);
|
anOper->GetBoundingBox(myBase.get(), true, Xmin, Xmax, Ymin, Ymax, Zmin, Zmax);
|
||||||
if (anOper->IsDone()) {
|
if (anOper->IsDone()) {
|
||||||
myStepU = floor(1.5 * (Xmax - Xmin));
|
myStepU = floor(1.5 * (Xmax - Xmin));
|
||||||
|
myStepV = floor(1.5 * (Ymax - Ymin));
|
||||||
GroupPoints->SpinBox_DX->setValue(myStepU);
|
GroupPoints->SpinBox_DX->setValue(myStepU);
|
||||||
|
GroupDimensions->SpinBox_DX1->setValue(myStepU);
|
||||||
|
GroupDimensions->SpinBox_DX2->setValue(myStepV);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!myVectorU)
|
if ( myEditCurrentArgument == GroupPoints->LineEdit1 && !myVectorU )
|
||||||
GroupPoints->PushButton2->click();
|
GroupPoints->PushButton2->click();
|
||||||
|
if ( myEditCurrentArgument == GroupDimensions->LineEdit1 ) {
|
||||||
|
if ( !myVectorU )
|
||||||
|
GroupDimensions->PushButton2->click();
|
||||||
|
else if ( !myVectorV )
|
||||||
|
GroupDimensions->PushButton3->click();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ( myEditCurrentArgument == GroupPoints->LineEdit2 ) {
|
else if ( myEditCurrentArgument == GroupPoints->LineEdit2 ) {
|
||||||
myVectorU = aSelectedObject;
|
myVectorU = aSelectedObject;
|
||||||
if ( !myBase )
|
if ( !myBase )
|
||||||
GroupPoints->PushButton1->click();
|
GroupPoints->PushButton1->click();
|
||||||
}
|
}
|
||||||
else if ( myEditCurrentArgument == GroupDimensions->LineEdit1 ) {
|
|
||||||
myBase = aSelectedObject;
|
|
||||||
|
|
||||||
// recompute myStepU and myStepV (Mantis issue 0021718)
|
|
||||||
GEOM::GEOM_IMeasureOperations_var anOper = getGeomEngine()->GetIMeasureOperations(getStudyId());
|
|
||||||
double Xmin, Xmax, Ymin, Ymax, Zmin, Zmax;
|
|
||||||
anOper->GetBoundingBox(myBase.get(), true, Xmin, Xmax, Ymin, Ymax, Zmin, Zmax);
|
|
||||||
if (anOper->IsDone()) {
|
|
||||||
myStepU = floor(1.5 * (Xmax - Xmin));
|
|
||||||
myStepV = floor(1.5 * (Ymax - Ymin));
|
|
||||||
GroupDimensions->SpinBox_DX1->setValue(myStepU);
|
|
||||||
GroupDimensions->SpinBox_DX2->setValue(myStepV);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !myVectorU )
|
|
||||||
GroupDimensions->PushButton2->click();
|
|
||||||
else if ( !myVectorV )
|
|
||||||
GroupDimensions->PushButton3->click();
|
|
||||||
}
|
|
||||||
else if ( myEditCurrentArgument == GroupDimensions->LineEdit2 ) {
|
else if ( myEditCurrentArgument == GroupDimensions->LineEdit2 ) {
|
||||||
myVectorU = aSelectedObject;
|
myVectorU = aSelectedObject;
|
||||||
if ( !myVectorV )
|
if ( !myVectorV )
|
||||||
@ -384,10 +389,10 @@ void TransformationGUI_MultiTranslationDlg::SelectionIntoArgument()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// clear selection
|
// clear selection
|
||||||
disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
// disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0);
|
||||||
myGeomGUI->getApp()->selectionMgr()->clearSelected();
|
// myGeomGUI->getApp()->selectionMgr()->clearSelected();
|
||||||
connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
// connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
|
||||||
this, SLOT(SelectionIntoArgument()));
|
// this, SLOT(SelectionIntoArgument()));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ( myEditCurrentArgument == GroupPoints->LineEdit1 ||
|
if ( myEditCurrentArgument == GroupPoints->LineEdit1 ||
|
||||||
|
Loading…
Reference in New Issue
Block a user