Version: 6.3.1
Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Private Slots | Private Member Functions | Private Attributes

SMESHGUI_ExtrusionDlg Class Reference

#include <SMESHGUI_ExtrusionDlg.h>

Inheritance diagram for SMESHGUI_ExtrusionDlg:
Inheritance graph
[legend]

Public Member Functions

 SMESHGUI_ExtrusionDlg (SMESHGUI *)
 ~SMESHGUI_ExtrusionDlg ()
void reject ()
void showPreview ()
void hidePreview ()

Protected Slots

virtual void onDisplaySimulation (bool)
void toDisplaySimulation ()

Protected Member Functions

void connectPreviewControl ()
virtual void setIsApplyAndClose (const bool theFlag)
virtual bool isApplyAndClose () const

Protected Attributes

SMESHGUImySMESHGUI
SMESHGUI_MeshEditPreviewmySimulation
QCheckBox * myPreviewCheckBox
bool myIsApplyAndClose

Private Slots

void ConstructorsClicked (int)
void CheckIsEnable ()
void ClickOnOk ()
bool ClickOnApply ()
void ClickOnCancel ()
void ClickOnHelp ()
void ClickOnRadio ()
void SetEditCurrentArgument ()
void SelectionIntoArgument ()
void DeactivateActiveDialog ()
void ActivateThisDialog ()
void onTextChange (const QString &)
void onSelectMesh (bool)
void setFilters ()

Private Member Functions

void Init (bool=true)
void enterEvent (QEvent *)
void closeEvent (QCloseEvent *)
void keyPressEvent (QKeyEvent *)
int GetConstructorId ()
void getExtrusionVector (SMESH::DirStruct &aVector)
bool isValid ()
bool isValuesValid ()
 Handle (SALOME_InteractiveObject) myIO

Private Attributes

SMESHGUI_IdValidatormyIdValidator
LightApp_SelectionMgr * mySelectionMgr
QWidgetmyEditCurrentArgument
int myNbOkElements
SVTK_Selector * mySelector
SMESH::SMESH_IDSource_var mySelectedObject
bool myBusy
SMESH::SMESH_Mesh_var myMesh
SMESH::long_array_var myElementsId
SMESH_ActormyActor
SUIT_SelectionFiltermyMeshOrSubMeshOrGroupFilter
QGroupBoxConstructorsBox
QButtonGroup * GroupConstructors
QRadioButton * RadioButton1
QRadioButton * RadioButton2
QRadioButton * RadioButton3
QRadioButton * RadioButton4
QGroupBoxGroupArguments
QGroupBoxGroupDimensions
QLabel * TextLabelElements
QPushButton * SelectElementsButton
QLineEdit * LineEditElements
QCheckBox * CheckBoxMesh
QLabel * TextLabelVector
QLabel * TextLabelDistance
QPushButton * SelectVectorButton
QLabel * TextLabelDx
SMESHGUI_SpinBoxSpinBox_Dx
QLabel * TextLabelDy
SMESHGUI_SpinBoxSpinBox_Dy
QLabel * TextLabelDz
SMESHGUI_SpinBoxSpinBox_Dz
QLabel * TextLabelVx
SMESHGUI_SpinBoxSpinBox_Vx
QLabel * TextLabelVy
SMESHGUI_SpinBoxSpinBox_Vy
QLabel * TextLabelVz
SMESHGUI_SpinBoxSpinBox_Vz
QLabel * TextLabelDist
SMESHGUI_SpinBoxSpinBox_VDist
QLabel * TextLabelNbSteps
SalomeApp_IntSpinBox * SpinBox_NbSteps
QCheckBox * MakeGroupsCheck
QGroupBoxGroupButtons
QPushButton * buttonOk
QPushButton * buttonCancel
QPushButton * buttonApply
QPushButton * buttonHelp
QString myHelpFileName
QString myIDs
QPushButton * myFilterBtn
SMESHGUI_FilterDlgmyFilterDlg

Detailed Description

Definition at line 63 of file SMESHGUI_ExtrusionDlg.h.


Constructor & Destructor Documentation

SMESHGUI_ExtrusionDlg::SMESHGUI_ExtrusionDlg ( SMESHGUI theModule)

Definition at line 91 of file SMESHGUI_ExtrusionDlg.cxx.

References buttonApply, buttonCancel, buttonHelp, buttonOk, CheckBoxMesh, CheckIsEnable(), ClickOnApply(), ClickOnCancel(), ClickOnHelp(), ClickOnOk(), ClickOnRadio(), SMESHGUI_PreviewDlg.connectPreviewControl(), ConstructorsBox, ConstructorsClicked(), COORD_MAX, COORD_MIN, DeactivateActiveDialog(), SMESH.GetResourceMgr(), SMESH.GetSelector(), SMESH.GetViewWindow(), GROUP, GroupArguments, GroupButtons, GroupConstructors, Init(), LineEditElements, SMESH_LogicalFilter.LO_OR, MakeGroupsCheck, MARGIN, MESHorSUBMESH, myFilterBtn, myHelpFileName, myIdValidator, myMeshOrSubMeshOrGroupFilter, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectionMgr, mySelector, SMESHGUI_PreviewDlg.mySMESHGUI, onSelectMesh(), onTextChange(), RadioButton1, RadioButton2, RadioButton3, RadioButton4, SMESHGUI_SpinBox.RangeStepAndValidator(), SelectElementsButton, SelectionIntoArgument(), SelectVectorButton, SMESHGUI.SetActiveDialogBox(), SetEditCurrentArgument(), setFilters(), SPACING, SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_NbSteps, SpinBox_VDist, SpinBox_Vx, SpinBox_Vy, SpinBox_Vz, TextLabelDist, TextLabelDistance, TextLabelDx, TextLabelDy, TextLabelDz, TextLabelElements, TextLabelNbSteps, TextLabelVector, TextLabelVx, TextLabelVy, TextLabelVz, and SMESHGUI_PreviewDlg.toDisplaySimulation().

  : SMESHGUI_PreviewDlg( theModule ),
    mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ),
    myFilterDlg( 0 ),
    mySelectedObject(SMESH::SMESH_IDSource::_nil())
{
  QPixmap image0 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_EDGE")));
  QPixmap image1 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_TRIANGLE")));
  QPixmap image2 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));

  setModal( false );
  setAttribute( Qt::WA_DeleteOnClose, true );
  setWindowTitle(tr("EXTRUSION_ALONG_LINE"));
  setSizeGripEnabled(true);

  QVBoxLayout* SMESHGUI_ExtrusionDlgLayout = new QVBoxLayout(this);
  SMESHGUI_ExtrusionDlgLayout->setSpacing(SPACING);
  SMESHGUI_ExtrusionDlgLayout->setMargin(MARGIN);

  /***************************************************************/
  ConstructorsBox = new QGroupBox(tr("SMESH_EXTRUSION"), this);
  GroupConstructors = new QButtonGroup(this);
  QHBoxLayout* ConstructorsBoxLayout = new QHBoxLayout(ConstructorsBox);
  ConstructorsBoxLayout->setSpacing(SPACING);
  ConstructorsBoxLayout->setMargin(MARGIN);

  RadioButton1= new QRadioButton(ConstructorsBox);
  RadioButton1->setIcon(image0);
  RadioButton2= new QRadioButton(ConstructorsBox);
  RadioButton2->setIcon(image1);

  ConstructorsBoxLayout->addWidget(RadioButton1);
  ConstructorsBoxLayout->addWidget(RadioButton2);

  GroupConstructors->addButton(RadioButton1, 0);
  GroupConstructors->addButton(RadioButton2, 1);

  /***************************************************************/
  GroupButtons = new QGroupBox(this);
  QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons);
  GroupButtonsLayout->setSpacing(SPACING);
  GroupButtonsLayout->setMargin(MARGIN);

  buttonOk = new QPushButton(tr("SMESH_BUT_APPLY_AND_CLOSE"), GroupButtons);
  buttonOk->setAutoDefault(true);
  buttonOk->setDefault(true);
  buttonApply = new QPushButton(tr("SMESH_BUT_APPLY"), GroupButtons);
  buttonApply->setAutoDefault(true);
  buttonCancel = new QPushButton(tr("SMESH_BUT_CLOSE"), GroupButtons);
  buttonCancel->setAutoDefault(true);
  buttonHelp = new QPushButton(tr("SMESH_BUT_HELP"), GroupButtons);
  buttonHelp->setAutoDefault(true);

  GroupButtonsLayout->addWidget(buttonOk);
  GroupButtonsLayout->addSpacing(10);
  GroupButtonsLayout->addWidget(buttonApply);
  GroupButtonsLayout->addSpacing(10);
  GroupButtonsLayout->addStretch();
  GroupButtonsLayout->addWidget(buttonCancel);
  GroupButtonsLayout->addWidget(buttonHelp);

  /***************************************************************/
  GroupArguments = new QGroupBox(tr("EXTRUSION_1D"), this);
  QGridLayout* GroupArgumentsLayout = new QGridLayout(GroupArguments);
  GroupArgumentsLayout->setSpacing(SPACING);
  GroupArgumentsLayout->setMargin(MARGIN);

  myIdValidator = new SMESHGUI_IdValidator(this);

  // Controls for elements selection
  TextLabelElements = new QLabel(tr("SMESH_ID_ELEMENTS"), GroupArguments);

  SelectElementsButton = new QPushButton(GroupArguments);
  SelectElementsButton->setIcon(image2);

  LineEditElements = new QLineEdit(GroupArguments);
  LineEditElements->setValidator(myIdValidator);
  LineEditElements->setMaxLength(-1);
  myFilterBtn = new QPushButton( tr( "SMESH_BUT_FILTER" ), GroupArguments );
  connect(myFilterBtn,   SIGNAL(clicked()), this, SLOT(setFilters()));

  // Control for the whole mesh selection
  CheckBoxMesh = new QCheckBox(tr("SMESH_SELECT_WHOLE_MESH"), GroupArguments);

  RadioButton3 = new QRadioButton(GroupArguments);
  RadioButton3->setText( tr("SMESH_EXTRUSION_TO_DISTANCE") );
  RadioButton4 = new QRadioButton(GroupArguments);
  RadioButton4->setText( tr("SMESH_EXTRUSION_ALONG_VECTOR") );

  //Control for the Distance selection
  TextLabelDistance = new QLabel(tr("SMESH_DISTANCE"), GroupArguments);
  
  TextLabelDx = new QLabel(tr("SMESH_X"), GroupArguments);
  SpinBox_Dx = new SMESHGUI_SpinBox(GroupArguments);
  
  TextLabelDy = new QLabel(tr("SMESH_Y"), GroupArguments);
  SpinBox_Dy = new SMESHGUI_SpinBox(GroupArguments);

  TextLabelDz = new QLabel(tr("SMESH_Z"), GroupArguments);
  SpinBox_Dz = new SMESHGUI_SpinBox(GroupArguments);

  // Controls for vector selection

  TextLabelVector = new QLabel(tr("SMESH_VECTOR"), GroupArguments);

  SelectVectorButton = new QPushButton(GroupArguments);
  SelectVectorButton->setIcon(image2);

  TextLabelVx = new QLabel(tr("SMESH_DX"), GroupArguments);
  SpinBox_Vx = new SMESHGUI_SpinBox(GroupArguments);

  TextLabelVy = new QLabel(tr("SMESH_DY"), GroupArguments);
  SpinBox_Vy = new SMESHGUI_SpinBox(GroupArguments);

  TextLabelVz = new QLabel(tr("SMESH_DZ"), GroupArguments);
  SpinBox_Vz = new SMESHGUI_SpinBox(GroupArguments);

  TextLabelDist = new QLabel(tr("SMESH_DISTANCE"), GroupArguments);
  SpinBox_VDist = new SMESHGUI_SpinBox(GroupArguments);

  // Controls for nb. steps defining
  TextLabelNbSteps = new QLabel(tr("SMESH_NUMBEROFSTEPS"), GroupArguments);
  SpinBox_NbSteps = new SalomeApp_IntSpinBox(GroupArguments);

  // CheckBox for groups generation
  MakeGroupsCheck = new QCheckBox(tr("SMESH_MAKE_GROUPS"), GroupArguments);

  //Preview check box
  myPreviewCheckBox = new QCheckBox(tr("PREVIEW"), GroupArguments);

  GroupArgumentsLayout->addWidget(TextLabelElements,    0, 0);
  GroupArgumentsLayout->addWidget(SelectElementsButton, 0, 1);
  GroupArgumentsLayout->addWidget(LineEditElements,     0, 2, 1, 5);
  GroupArgumentsLayout->addWidget(myFilterBtn,          0, 7);
  GroupArgumentsLayout->addWidget(CheckBoxMesh,         1, 0, 1, 8);
  GroupArgumentsLayout->addWidget(RadioButton3,         2, 1, 1, 3);
  GroupArgumentsLayout->addWidget(RadioButton4,         2, 5, 1, 3);
  GroupArgumentsLayout->addWidget(TextLabelDistance,    3, 0);
  GroupArgumentsLayout->addWidget(TextLabelDx,          3, 2);
  GroupArgumentsLayout->addWidget(SpinBox_Dx,           3, 3);
  GroupArgumentsLayout->addWidget(TextLabelDy,          3, 4);
  GroupArgumentsLayout->addWidget(SpinBox_Dy,           3, 5);
  GroupArgumentsLayout->addWidget(TextLabelDz,          3, 6);
  GroupArgumentsLayout->addWidget(SpinBox_Dz,           3, 7);
  GroupArgumentsLayout->addWidget(TextLabelVector,      4, 0);
  GroupArgumentsLayout->addWidget(SelectVectorButton,   4, 1);
  GroupArgumentsLayout->addWidget(TextLabelVx,          4, 2);
  GroupArgumentsLayout->addWidget(SpinBox_Vx,           4, 3);
  GroupArgumentsLayout->addWidget(TextLabelVy,          4, 4);
  GroupArgumentsLayout->addWidget(SpinBox_Vy,           4, 5);
  GroupArgumentsLayout->addWidget(TextLabelVz,          4, 6);
  GroupArgumentsLayout->addWidget(SpinBox_Vz,           4, 7);
  GroupArgumentsLayout->addWidget(TextLabelDist,        5, 0);
  GroupArgumentsLayout->addWidget(SpinBox_VDist,         5, 3);
  GroupArgumentsLayout->addWidget(TextLabelNbSteps,     6, 0, 1, 3);
  GroupArgumentsLayout->addWidget(SpinBox_NbSteps,      6, 3);
  GroupArgumentsLayout->addWidget(myPreviewCheckBox,    7, 0, 1, 8);
  GroupArgumentsLayout->addWidget(MakeGroupsCheck,      8, 0, 1, 8);
  GroupArgumentsLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding), 8, 0);


  /***************************************************************/
  SMESHGUI_ExtrusionDlgLayout->addWidget(ConstructorsBox);
  SMESHGUI_ExtrusionDlgLayout->addWidget(GroupArguments);
  SMESHGUI_ExtrusionDlgLayout->addWidget(GroupButtons);

  /* Initialisations */
  SpinBox_Vx->RangeStepAndValidator(COORD_MIN, COORD_MAX, 0.01, "length_precision");
  SpinBox_Vy->RangeStepAndValidator(COORD_MIN, COORD_MAX, 0.01, "length_precision");
  SpinBox_Vz->RangeStepAndValidator(COORD_MIN, COORD_MAX, 0.01, "length_precision");

  SpinBox_Dx->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_Dy->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_Dz->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  
  SpinBox_NbSteps->setRange(1, 999999);
  SpinBox_VDist->RangeStepAndValidator(0, COORD_MAX, 10.0, "length_precision");

  RadioButton1->setChecked(true);
  RadioButton3->setChecked(true);
  MakeGroupsCheck->setChecked(true);

  mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector();

  mySMESHGUI->SetActiveDialogBox(this);

  // Costruction of the logical filter for the elements: mesh/sub-mesh/group
  SMESH_TypeFilter* aMeshOrSubMeshFilter = new SMESH_TypeFilter (MESHorSUBMESH);
  SMESH_TypeFilter* aSmeshGroupFilter    = new SMESH_TypeFilter (GROUP);

  QList<SUIT_SelectionFilter*> aListOfFilters;
  if (aMeshOrSubMeshFilter) aListOfFilters.append(aMeshOrSubMeshFilter);
  if (aSmeshGroupFilter)    aListOfFilters.append(aSmeshGroupFilter);

  myMeshOrSubMeshOrGroupFilter =
    new SMESH_LogicalFilter (aListOfFilters, SMESH_LogicalFilter::LO_OR);

  myHelpFileName = "extrusion_page.html";

  Init();

  /***************************************************************/
  // signals and slots connections
  connect(buttonOk,     SIGNAL(clicked()), this, SLOT(ClickOnOk()));
  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
  connect(buttonApply,  SIGNAL(clicked()), this, SLOT(ClickOnApply()));
  connect(buttonHelp,   SIGNAL(clicked()), this, SLOT(ClickOnHelp()));

  connect(RadioButton3, SIGNAL(clicked()), this, SLOT(ClickOnRadio()));
  connect(RadioButton4, SIGNAL(clicked()), this, SLOT(ClickOnRadio()));

  // to update state of the Ok & Apply buttons
  connect(SpinBox_Vx, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));
  connect(SpinBox_Vy, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));
  connect(SpinBox_Vz, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));
  connect(SpinBox_Dx, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));
  connect(SpinBox_Dy, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));
  connect(SpinBox_Dz, SIGNAL(valueChanged(double)), SLOT(CheckIsEnable()));

  connect(GroupConstructors,    SIGNAL(buttonClicked(int)), SLOT(ConstructorsClicked(int)));
  connect(SelectElementsButton, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
  connect(SelectVectorButton,   SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
  connect(mySMESHGUI,           SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
  connect(mySelectionMgr,       SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
  /* to close dialog if study change */
  connect(mySMESHGUI,           SIGNAL(SignalCloseAllDialogs()),   this, SLOT(ClickOnCancel()));
  connect(LineEditElements,     SIGNAL(textChanged(const QString&)), SLOT(onTextChange(const QString&)));
  connect(CheckBoxMesh,         SIGNAL(toggled(bool)),               SLOT(onSelectMesh(bool)));

  connect(SpinBox_Dx,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Dy,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Dz,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Vx,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Vy,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Vz,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_VDist,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_NbSteps,  SIGNAL(valueChanged(int)), this, SLOT(toDisplaySimulation()));

  //To Connect preview check box
  connectPreviewControl();

  /***************************************************************/
  
  ConstructorsClicked(0);
  ClickOnRadio();
  SelectionIntoArgument();
}
SMESHGUI_ExtrusionDlg::~SMESHGUI_ExtrusionDlg ( )

Definition at line 343 of file SMESHGUI_ExtrusionDlg.cxx.

References myFilterDlg.

{
  if ( myFilterDlg != 0 ) {
    myFilterDlg->setParent( 0 );
    delete myFilterDlg;
  }
}

Member Function Documentation

void SMESHGUI_ExtrusionDlg::ActivateThisDialog ( ) [private, slot]
void SMESHGUI_ExtrusionDlg::CheckIsEnable ( ) [private, slot]

Definition at line 389 of file SMESHGUI_ExtrusionDlg.cxx.

References buttonApply, buttonOk, isValuesValid(), and myNbOkElements.

Referenced by Init(), onTextChange(), SelectionIntoArgument(), and SMESHGUI_ExtrusionDlg().

{  
  bool anIsEnable = myNbOkElements > 0 && isValuesValid();

  buttonOk->setEnabled(anIsEnable);
  buttonApply->setEnabled(anIsEnable);
}
bool SMESHGUI_ExtrusionDlg::ClickOnApply ( ) [private, slot]

Definition at line 519 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckBoxMesh, ConstructorsClicked(), SMESH.eDisplay, GetConstructorId(), getExtrusionVector(), Init(), SMESHGUI.isActiveStudyLocked(), isValid(), MakeGroupsCheck, SMESHGUI.Modified(), myElementsId, myMesh, myNbOkElements, mySelectedObject, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, RadioButton3, RadioButton4, SelectionIntoArgument(), SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_NbSteps, SpinBox_VDist, SpinBox_Vx, SpinBox_Vy, SpinBox_Vz, and SMESH.Update().

Referenced by ClickOnOk(), and SMESHGUI_ExtrusionDlg().

{
  if (mySMESHGUI->isActiveStudyLocked())
    return false;

  if (!isValid())
    return false;

  if (myNbOkElements) {

    SMESH::DirStruct aVector;
    getExtrusionVector(aVector);
    
    QStringList aParameters;
    if ( RadioButton3->isChecked() ) {
      aParameters << SpinBox_Dx->text();
      aParameters << SpinBox_Dy->text();
      aParameters << SpinBox_Dz->text();
    } else if ( RadioButton4->isChecked() ) {
      aParameters << SpinBox_Vx->text();
      aParameters << SpinBox_Vy->text();
      aParameters << SpinBox_Vz->text();
      aParameters << SpinBox_VDist->text();
    }

    long aNbSteps = (long)SpinBox_NbSteps->value();

    aParameters << SpinBox_NbSteps->text();

    try {
      SUIT_OverrideCursor aWaitCursor;
      SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();

      if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) {
        if( CheckBoxMesh->isChecked() ) {
          if( GetConstructorId() == 0 )
            SMESH::ListOfGroups_var groups = 
              aMeshEditor->ExtrusionSweepObject1DMakeGroups(mySelectedObject, aVector, aNbSteps);
          else
            SMESH::ListOfGroups_var groups = 
              aMeshEditor->ExtrusionSweepObject2DMakeGroups(mySelectedObject, aVector, aNbSteps);
        }
        else
          SMESH::ListOfGroups_var groups = 
            aMeshEditor->ExtrusionSweepMakeGroups(myElementsId.inout(), aVector, aNbSteps);
      }
      else {
        if( CheckBoxMesh->isChecked() ) {
          if( GetConstructorId() == 0 )
            aMeshEditor->ExtrusionSweepObject1D(mySelectedObject, aVector, aNbSteps);
          else
            aMeshEditor->ExtrusionSweepObject2D(mySelectedObject, aVector, aNbSteps);
        }
        else
          aMeshEditor->ExtrusionSweep(myElementsId.inout(), aVector, aNbSteps);
      }

      myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );

    } catch (...) {
    }

    SMESH::Update(myIO, SMESH::eDisplay);
    if ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() )
      mySMESHGUI->updateObjBrowser(true); // new groups may appear
    Init(false);
    ConstructorsClicked(GetConstructorId());
    mySelectionMgr->clearSelected();
    mySelectedObject = SMESH::SMESH_IDSource::_nil();
    SelectionIntoArgument();

    SMESHGUI::Modified();
  }
  return true;
}
void SMESHGUI_ExtrusionDlg::ClickOnCancel ( ) [private, slot]

Definition at line 609 of file SMESHGUI_ExtrusionDlg.cxx.

References reject().

Referenced by ClickOnOk(), and SMESHGUI_ExtrusionDlg().

{
  reject();
}
void SMESHGUI_ExtrusionDlg::ClickOnHelp ( ) [private, slot]

Definition at line 618 of file SMESHGUI_ExtrusionDlg.cxx.

References myHelpFileName, and SMESHGUI_PreviewDlg.mySMESHGUI.

Referenced by keyPressEvent(), and SMESHGUI_ExtrusionDlg().

{
  LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
  if (app) 
    app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
  else {
    QString platform;
#ifdef WIN32
    platform = "winapplication";
#else
    platform = "application";
#endif
    SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
                             tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
                             arg(app->resourceMgr()->stringValue("ExternalBrowser", 
                                                                 platform)).
                             arg(myHelpFileName));
  }
}
void SMESHGUI_ExtrusionDlg::ClickOnOk ( ) [private, slot]

Definition at line 599 of file SMESHGUI_ExtrusionDlg.cxx.

References ClickOnApply(), and ClickOnCancel().

Referenced by SMESHGUI_ExtrusionDlg().

void SMESHGUI_ExtrusionDlg::ClickOnRadio ( ) [private, slot]

Definition at line 467 of file SMESHGUI_ExtrusionDlg.cxx.

References onDisplaySimulation(), RadioButton3, RadioButton4, SelectVectorButton, SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_VDist, SpinBox_Vx, SpinBox_Vy, SpinBox_Vz, TextLabelDist, TextLabelDistance, TextLabelDx, TextLabelDy, TextLabelDz, TextLabelVector, TextLabelVx, TextLabelVy, and TextLabelVz.

Referenced by SMESHGUI_ExtrusionDlg().

{
  if ( RadioButton3->isChecked() ) {
    TextLabelDistance->show();
    TextLabelDx->show();
    SpinBox_Dx->show();
    TextLabelDy->show();
    SpinBox_Dy->show();
    TextLabelDz->show();
    SpinBox_Dz->show();

    TextLabelVector->hide();
    TextLabelVx->hide();
    SpinBox_Vx->hide();
    TextLabelVy->hide();
    SpinBox_Vy->hide();
    TextLabelVz->hide();
    SpinBox_Vz->hide();
    TextLabelDist->hide();
    SpinBox_VDist->hide();
    SelectVectorButton->hide();
  } else if ( RadioButton4->isChecked() ) {
    TextLabelDistance->hide();
    TextLabelDx->hide();
    SpinBox_Dx->hide();
    TextLabelDy->hide();
    SpinBox_Dy->hide();
    TextLabelDz->hide();
    SpinBox_Dz->hide();

    TextLabelVector->show();
    TextLabelVx->show();
    SpinBox_Vx->show();
    TextLabelVy->show();
    SpinBox_Vy->show();
    TextLabelVz->show();
    SpinBox_Vz->show();
    TextLabelDist->show();
    SpinBox_VDist->show();
    SelectVectorButton->show();
  }
  onDisplaySimulation(true);
  // AdjustSize
  qApp->processEvents();
  updateGeometry();
  resize( minimumSizeHint() );
}
void SMESHGUI_ExtrusionDlg::closeEvent ( QCloseEvent *  ) [private]

Definition at line 900 of file SMESHGUI_ExtrusionDlg.cxx.

References SMESH.GetCurrentVtkView(), SMESH.GetViewWindow(), mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, SMESH.RemoveFilters(), SMESHGUI.ResetState(), SMESH.SetPickable(), and SMESH.SetPointRepresentation().

{
  /* same than click on cancel button */
  disconnect(mySelectionMgr, 0, this, 0);
  mySelectionMgr->clearFilters();
  //mySelectionMgr->clearSelected();
  if (SMESH::GetCurrentVtkView()) {
    SMESH::RemoveFilters(); // PAL6938 -- clean all mesh entity filters
    SMESH::SetPointRepresentation(false);
    SMESH::SetPickable();
  }
  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
    aViewWindow->SetSelectionMode(ActorSelection);
  mySMESHGUI->ResetState();
}
void SMESHGUI_PreviewDlg::connectPreviewControl ( ) [protected, inherited]
void SMESHGUI_ExtrusionDlg::ConstructorsClicked ( int  constructorId) [private, slot]

Definition at line 421 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckBoxMesh, SMESH.GetViewWindow(), GroupArguments, SMESHGUI_PreviewDlg.hidePreview(), LineEditElements, myEditCurrentArgument, myIDs, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, onSelectMesh(), and SelectionIntoArgument().

Referenced by ActivateThisDialog(), ClickOnApply(), and SMESHGUI_ExtrusionDlg().

{
  disconnect(mySelectionMgr, 0, this, 0);

  hidePreview();

  switch (constructorId) {
  case 0:
    {
      GroupArguments->setTitle(tr("EXTRUSION_1D"));
      if (!CheckBoxMesh->isChecked())
        {
          LineEditElements->clear();
          myIDs.clear();
          if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
            aViewWindow->SetSelectionMode(EdgeSelection);
        }
      break;
    }
  case 1:
    {
      GroupArguments->setTitle(tr("EXTRUSION_2D"));
      if (!CheckBoxMesh->isChecked())
        {
          LineEditElements->clear();
          myIDs.clear();
          if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
            aViewWindow->SetSelectionMode(FaceSelection);
        }
      break;
    }
  }

  myEditCurrentArgument = (QWidget*)LineEditElements;
  LineEditElements->setFocus();

  if (CheckBoxMesh->isChecked())
    onSelectMesh(true);

  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
}
void SMESHGUI_ExtrusionDlg::DeactivateActiveDialog ( ) [private, slot]
void SMESHGUI_ExtrusionDlg::enterEvent ( QEvent *  ) [private]

Definition at line 890 of file SMESHGUI_ExtrusionDlg.cxx.

References ActivateThisDialog(), and ConstructorsBox.

{
  if (!ConstructorsBox->isEnabled())
    ActivateThisDialog();
}
int SMESHGUI_ExtrusionDlg::GetConstructorId ( ) [private]
void SMESHGUI_ExtrusionDlg::getExtrusionVector ( SMESH::DirStruct aVector) [private]

Definition at line 1100 of file SMESHGUI_ExtrusionDlg.cxx.

References SMESHGUI_SpinBox.GetValue(), SMESH.DirStruct.PS, RadioButton3, RadioButton4, SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_VDist, SpinBox_Vx, SpinBox_Vy, and SpinBox_Vz.

Referenced by ClickOnApply(), and onDisplaySimulation().

                                                                      {
  if ( RadioButton3->isChecked() ) {
    aVector.PS.x = SpinBox_Dx->GetValue();
    aVector.PS.y = SpinBox_Dy->GetValue();
    aVector.PS.z = SpinBox_Dz->GetValue();      
  } else if ( RadioButton4->isChecked() ) {
    gp_XYZ aNormale(SpinBox_Vx->GetValue(),
                    SpinBox_Vy->GetValue(),
                    SpinBox_Vz->GetValue());
    
    
    aNormale /= aNormale.Modulus();
    long aVDist = (long)SpinBox_VDist->value();
    
    aVector.PS.x = aNormale.X()*aVDist;
    aVector.PS.y = aNormale.Y()*aVDist;
    aVector.PS.z = aNormale.Z()*aVDist;
  }
}
SMESHGUI_ExtrusionDlg.Handle ( SALOME_InteractiveObject  ) [private]

Referenced by SelectionIntoArgument().

void SMESHGUI_PreviewDlg::hidePreview ( ) [inherited]
void SMESHGUI_ExtrusionDlg::Init ( bool  ResetControls = true) [private]
bool SMESHGUI_PreviewDlg::isApplyAndClose ( ) const [protected, virtual, inherited]
bool SMESHGUI_ExtrusionDlg::isValid ( ) [private]

Definition at line 1031 of file SMESHGUI_ExtrusionDlg.cxx.

References RadioButton3, RadioButton4, SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_NbSteps, SpinBox_VDist, SpinBox_Vx, SpinBox_Vy, and SpinBox_Vz.

Referenced by ClickOnApply(), and onDisplaySimulation().

{
  QString msg;
  bool ok = true;
  if ( RadioButton3->isChecked() ) {
    ok = SpinBox_Dx->isValid( msg, true ) && ok;
    ok = SpinBox_Dy->isValid( msg, true ) && ok;
    ok = SpinBox_Dz->isValid( msg, true ) && ok;
  } else if ( RadioButton4->isChecked() ) {
    ok = SpinBox_Vx->isValid( msg, true ) && ok;
    ok = SpinBox_Vy->isValid( msg, true ) && ok;
    ok = SpinBox_Vz->isValid( msg, true ) && ok;
    ok = SpinBox_VDist->isValid( msg, true ) && ok;
  }
  ok = SpinBox_NbSteps->isValid( msg, true ) && ok;

  if( !ok ) {
    QString str( tr( "SMESH_INCORRECT_INPUT" ) );
    if ( !msg.isEmpty() )
      str += "\n" + msg;
    SUIT_MessageBox::critical( this, tr( "SMESH_ERROR" ), str );
    return false;
  }
  return true;
}
bool SMESHGUI_ExtrusionDlg::isValuesValid ( ) [private]

Definition at line 401 of file SMESHGUI_ExtrusionDlg.cxx.

References SMESHGUI_SpinBox.GetValue(), RadioButton3, RadioButton4, SpinBox_Dx, SpinBox_Dy, SpinBox_Dz, SpinBox_Vx, SpinBox_Vy, and SpinBox_Vz.

Referenced by CheckIsEnable(), and onDisplaySimulation().

                                          {
  double aX, aY, aZ, aModule = 0;
  if ( RadioButton3->isChecked() ) {
    aX = SpinBox_Dx->GetValue();
    aY = SpinBox_Dy->GetValue();
    aZ = SpinBox_Dz->GetValue();
    aModule = sqrt(aX*aX + aY*aY + aZ*aZ);
  } else   if ( RadioButton4->isChecked() ) {
    aX = SpinBox_Vx->GetValue();
    aY = SpinBox_Vy->GetValue();
    aZ = SpinBox_Vz->GetValue();
    aModule = sqrt(aX*aX + aY*aY + aZ*aZ);
  }
  return aModule > 1.0E-38;
}
void SMESHGUI_ExtrusionDlg::keyPressEvent ( QKeyEvent *  e) [private]

Definition at line 987 of file SMESHGUI_ExtrusionDlg.cxx.

References ClickOnHelp().

{
  QDialog::keyPressEvent( e );
  if ( e->isAccepted() )
    return;

  if ( e->key() == Qt::Key_F1 ) {
    e->accept();
    ClickOnHelp();
  }
}
void SMESHGUI_ExtrusionDlg::onDisplaySimulation ( bool  toDisplayPreview) [protected, virtual, slot]

Reimplemented from SMESHGUI_PreviewDlg.

Definition at line 1061 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckBoxMesh, GetConstructorId(), getExtrusionVector(), SMESHGUI_PreviewDlg.hidePreview(), isValid(), isValuesValid(), myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectedObject, SMESHGUI_PreviewDlg.mySimulation, SMESHGUI_MeshEditPreview.SetData(), and SpinBox_NbSteps.

Referenced by ClickOnRadio(), Init(), onTextChange(), and SelectionIntoArgument().

                                                                       {
  if (myPreviewCheckBox->isChecked() && toDisplayPreview) {
    if (myNbOkElements && isValid() && isValuesValid()) {
      //Get input vector
      SMESH::DirStruct aVector;
      getExtrusionVector(aVector);

      //Get Number of the steps 
      long aNbSteps = (long)SpinBox_NbSteps->value();
      
      try {
        SUIT_OverrideCursor aWaitCursor;
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditPreviewer();
        if( CheckBoxMesh->isChecked() ) {
          if( GetConstructorId() == 0 )
            aMeshEditor->ExtrusionSweepObject1D(mySelectedObject, aVector, aNbSteps);
          else
            aMeshEditor->ExtrusionSweepObject2D(mySelectedObject, aVector, aNbSteps);
        }
        else
          aMeshEditor->ExtrusionSweep(myElementsId.inout(), aVector, aNbSteps);
        
        SMESH::MeshPreviewStruct_var aMeshPreviewStruct = aMeshEditor->GetPreviewData();
        mySimulation->SetData(aMeshPreviewStruct._retn());
      } catch (...) {
        hidePreview();
      }
    } else {
      hidePreview();
    }
  } else {
    hidePreview();
  }
}
void SMESHGUI_ExtrusionDlg::onSelectMesh ( bool  toSelectMesh) [private, slot]

Definition at line 926 of file SMESHGUI_ExtrusionDlg.cxx.

References GetConstructorId(), SMESH.GetViewWindow(), LineEditElements, myEditCurrentArgument, myFilterBtn, myIDs, myIdValidator, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, onTextChange(), SelectionIntoArgument(), and TextLabelElements.

Referenced by ConstructorsClicked(), Init(), and SMESHGUI_ExtrusionDlg().

{
  if (toSelectMesh) {
    myIDs = LineEditElements->text();
    TextLabelElements->setText(tr("SMESH_NAME"));
  }
  else
    TextLabelElements->setText(tr("SMESH_ID_ELEMENTS"));

  myFilterBtn->setEnabled(!toSelectMesh);

  if (myEditCurrentArgument != LineEditElements) {
    LineEditElements->clear();
    return;
  }

  mySelectionMgr->clearFilters();

  if (toSelectMesh) {
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode(ActorSelection);
    mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
    LineEditElements->setReadOnly(true);
    LineEditElements->setValidator(0);
  } else {
    int aConstructorId = GetConstructorId();
    if (aConstructorId == 0)
      {
        if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
          aViewWindow->SetSelectionMode(EdgeSelection);
      }
    else if (aConstructorId == 1)
      {
        if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
          aViewWindow->SetSelectionMode(FaceSelection);
      }

    LineEditElements->setReadOnly(false);
    LineEditElements->setValidator(myIdValidator);
    onTextChange(LineEditElements->text());
  }

  SelectionIntoArgument();

  if (!toSelectMesh)
    LineEditElements->setText( myIDs );
}
void SMESHGUI_ExtrusionDlg::onTextChange ( const QString &  theNewText) [private, slot]

Definition at line 642 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckIsEnable(), EDGE, SMESH.FACE, SMDS_Mesh.FindElement(), GetConstructorId(), SMESH_Actor.GetObject(), SMDS_MeshElement.GetType(), SMESH.GetViewWindow(), LineEditElements, myActor, myBusy, myElementsId, myMesh, myNbOkElements, mySelector, SMESHGUI_PreviewDlg.mySMESHGUI, onDisplaySimulation(), SMDSAbs_Edge, and SMDSAbs_Face.

Referenced by onSelectMesh(), and SMESHGUI_ExtrusionDlg().

{
  QLineEdit* send = (QLineEdit*)sender();

  // return if busy
  if (myBusy) return;

  // set busy flag
  myBusy = true;

  if (send == LineEditElements)
    myNbOkElements = 0;

  // hilight entered elements/nodes

  if (!myIO.IsNull()) {
    QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);

    if (send == LineEditElements)
    {
      SMDS_Mesh* aMesh = myActor ? myActor->GetObject()->GetMesh() : 0;
      SMESH::ElementType SMESHType = GetConstructorId() ? SMESH::FACE : SMESH::EDGE;
      SMDSAbs_ElementType SMDSType = GetConstructorId() ? SMDSAbs_Face: SMDSAbs_Edge;

      myElementsId = new SMESH::long_array;
      myElementsId->length( aListId.count() );
      TColStd_MapOfInteger newIndices;
      for (int i = 0; i < aListId.count(); i++) {
        int id = aListId[ i ].toInt();
        bool validId = false;
        if ( id > 0 ) {
          if ( aMesh ) {
            const SMDS_MeshElement * e = aMesh->FindElement( id );
            validId = ( e && e->GetType() == SMDSType );
          } else {
            validId = ( myMesh->GetElementType( id, true ) == SMESHType );
          }
        }
        if ( validId && newIndices.Add( id ))
          myElementsId[ newIndices.Extent()-1 ] = id;
      }
      myElementsId->length( myNbOkElements = newIndices.Extent() );
      mySelector->AddOrRemoveIndex(myIO, newIndices, false);
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->highlight( myIO, true, true );
    }
  }

  CheckIsEnable();

  onDisplaySimulation(true);

  myBusy = false;
}
void SMESHGUI_ExtrusionDlg::reject ( )

Definition at line 916 of file SMESHGUI_ExtrusionDlg.cxx.

Referenced by ClickOnCancel().

{
  QDialog::reject();
  close();
}
void SMESHGUI_ExtrusionDlg::SelectionIntoArgument ( ) [private, slot]

Definition at line 701 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckBoxMesh, CheckIsEnable(), PAL_MESH_043_3D.face, SMESH.FindActorByObject(), SMDS_Mesh.FindElement(), SMESH.GetMeshByIO(), SMESH.GetNameOfSelectedIObjects(), getNormale(), SMESH_Actor.GetObject(), GroupButtons, Handle(), LineEditElements, MakeGroupsCheck, myActor, myBusy, myEditCurrentArgument, myElementsId, myMesh, myNbOkElements, mySelectedObject, mySelectionMgr, mySelector, onDisplaySimulation(), SMESHGUI_SpinBox.SetValue(), SpinBox_Vx, SpinBox_Vy, and SpinBox_Vz.

Referenced by ActivateThisDialog(), ClickOnApply(), ConstructorsClicked(), onSelectMesh(), SetEditCurrentArgument(), and SMESHGUI_ExtrusionDlg().

{
  if (myBusy) return;

  // return if dialog box is inactive
  if (!GroupButtons->isEnabled())
    return;

  // clear
  if(myEditCurrentArgument != (QWidget*)SpinBox_Vx) {
    myActor = 0;
    Handle(SALOME_InteractiveObject) resIO = myIO;
    myIO.Nullify();
  }

  QString aString = "";
  // set busy flag
  if(myEditCurrentArgument == (QWidget*)LineEditElements) {
    myBusy = true;
    LineEditElements->setText(aString);
    myNbOkElements = 0;
    myBusy = false;
  }
  // get selected mesh
  SALOME_ListIO aList;
  mySelectionMgr->selectedObjects(aList, SVTK_Viewer::Type());
  int nbSel = SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString);
  if (nbSel != 1)
    return;

  Handle(SALOME_InteractiveObject) IO = aList.First();

  if(myEditCurrentArgument != (QWidget*)SpinBox_Vx) {
    myMesh = SMESH::GetMeshByIO(IO);
    if (myMesh->_is_nil())
      return;
    myIO = IO;
    myActor = SMESH::FindActorByObject(myMesh);
  }

  if (myEditCurrentArgument == (QWidget*)LineEditElements) {    
    int aNbElements = 0;

    // MakeGroups is available if there are groups
    if ( myMesh->NbGroups() == 0 ) {
      MakeGroupsCheck->setChecked(false);
      MakeGroupsCheck->setEnabled(false);
    } else {
      MakeGroupsCheck->setEnabled(true);
    }

    if (CheckBoxMesh->isChecked()) {
      SMESH::GetNameOfSelectedIObjects(mySelectionMgr, aString);

      if (!SMESH::IObjectToInterface<SMESH::SMESH_IDSource>(IO)->_is_nil())
        mySelectedObject = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>(IO);
      else
        return;
    } else {
      // get indices of selcted elements
      TColStd_IndexedMapOfInteger aMapIndex;
      mySelector->GetIndex(IO,aMapIndex);
      aNbElements = aMapIndex.Extent();

      if (aNbElements < 1)
        return;

      myElementsId = new SMESH::long_array;
      myElementsId->length( aNbElements );
      aString = "";
      for ( int i = 0; i < aNbElements; ++i )
        aString += QString(" %1").arg( myElementsId[ i ] = aMapIndex( i+1 ) );
    }

    myNbOkElements = true;

    myBusy = true;
    ((QLineEdit*)myEditCurrentArgument)->setText(aString);
    myBusy = false;
  }
  else if(myEditCurrentArgument == (QWidget*)SpinBox_Vx){
    TColStd_IndexedMapOfInteger aMapIndex;
    mySelector->GetIndex(IO,aMapIndex);
    int aNbElements = aMapIndex.Extent();
    SMESH::SMESH_Mesh_var aMesh_var = SMESH::GetMeshByIO(IO);
    SMESH_Actor* anActor = SMESH::FindActorByObject(aMesh_var);
    SMDS_Mesh* aMesh =  anActor ? anActor->GetObject()->GetMesh() : 0;

    if(aNbElements != 1 || !aMesh)
      return;
    
    const SMDS_MeshFace* face = dynamic_cast<const SMDS_MeshFace*>(aMesh->FindElement(aMapIndex(aNbElements)));

    if (!face)
      return;

    gp_XYZ aNormale = SMESH::getNormale(face);
    SpinBox_Vx->SetValue(aNormale.X());
    SpinBox_Vy->SetValue(aNormale.Y());
    SpinBox_Vz->SetValue(aNormale.Z());
    
  }
  
  onDisplaySimulation(true);
  
  // OK
  CheckIsEnable();
}
void SMESHGUI_ExtrusionDlg::SetEditCurrentArgument ( ) [private, slot]

Definition at line 814 of file SMESHGUI_ExtrusionDlg.cxx.

References CheckBoxMesh, GetConstructorId(), SMESH.GetViewWindow(), LineEditElements, myEditCurrentArgument, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, SelectElementsButton, SelectionIntoArgument(), SelectVectorButton, and SpinBox_Vx.

Referenced by SMESHGUI_ExtrusionDlg().

{
  QPushButton* send = (QPushButton*)sender();

  disconnect(mySelectionMgr, 0, this, 0);
  mySelectionMgr->clearSelected();
  mySelectionMgr->clearFilters();

  if (send == SelectElementsButton) {
    myEditCurrentArgument = (QWidget*)LineEditElements;
    if (CheckBoxMesh->isChecked()) {
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode(ActorSelection);
      mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
    } else {
      int aConstructorId = GetConstructorId();
      if (aConstructorId == 0)
        {
          if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
            aViewWindow->SetSelectionMode(EdgeSelection);
        }
      else if (aConstructorId == 1)
        {
          if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
            aViewWindow->SetSelectionMode(FaceSelection);
        }
    }
  }
  else if (send == SelectVectorButton){
    myEditCurrentArgument = (QWidget*)SpinBox_Vx;
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode(FaceSelection);
  }
  
  myEditCurrentArgument->setFocus();
  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
  SelectionIntoArgument();
}
void SMESHGUI_ExtrusionDlg::setFilters ( ) [private, slot]
void SMESHGUI_PreviewDlg::setIsApplyAndClose ( const bool  theFlag) [protected, virtual, inherited]
void SMESHGUI_PreviewDlg::showPreview ( ) [inherited]
void SMESHGUI_PreviewDlg::toDisplaySimulation ( ) [protected, slot, inherited]

Field Documentation

QPushButton* SMESHGUI_ExtrusionDlg.buttonApply [private]

Definition at line 137 of file SMESHGUI_ExtrusionDlg.h.

Referenced by CheckIsEnable(), and SMESHGUI_ExtrusionDlg().

QPushButton* SMESHGUI_ExtrusionDlg.buttonCancel [private]

Definition at line 136 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SMESHGUI_ExtrusionDlg().

QPushButton* SMESHGUI_ExtrusionDlg.buttonHelp [private]

Definition at line 138 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SMESHGUI_ExtrusionDlg().

QPushButton* SMESHGUI_ExtrusionDlg.buttonOk [private]

Definition at line 135 of file SMESHGUI_ExtrusionDlg.h.

Referenced by CheckIsEnable(), and SMESHGUI_ExtrusionDlg().

QCheckBox* SMESHGUI_ExtrusionDlg.CheckBoxMesh [private]
QButtonGroup* SMESHGUI_ExtrusionDlg.GroupConstructors [private]

Definition at line 101 of file SMESHGUI_ExtrusionDlg.h.

Referenced by GetConstructorId(), and SMESHGUI_ExtrusionDlg().

Definition at line 108 of file SMESHGUI_ExtrusionDlg.h.

Definition at line 95 of file SMESHGUI_ExtrusionDlg.h.

Referenced by Init(), onTextChange(), and SelectionIntoArgument().

Definition at line 92 of file SMESHGUI_ExtrusionDlg.h.

Referenced by Init(), onTextChange(), and SelectionIntoArgument().

SMESH::long_array_var SMESHGUI_ExtrusionDlg.myElementsId [private]
QPushButton* SMESHGUI_ExtrusionDlg.myFilterBtn [private]

Definition at line 143 of file SMESHGUI_ExtrusionDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ExtrusionDlg().

Definition at line 144 of file SMESHGUI_ExtrusionDlg.h.

Referenced by setFilters(), and ~SMESHGUI_ExtrusionDlg().

Definition at line 140 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnHelp(), and SMESHGUI_ExtrusionDlg().

QString SMESHGUI_ExtrusionDlg.myIDs [private]

Definition at line 141 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ConstructorsClicked(), Init(), and onSelectMesh().

Definition at line 84 of file SMESHGUI_ExtrusionDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ExtrusionDlg().

SMESH::SMESH_Mesh_var SMESHGUI_ExtrusionDlg.myMesh [private]
QCheckBox* SMESHGUI_PreviewDlg.myPreviewCheckBox [protected, inherited]
SMESH::SMESH_IDSource_var SMESHGUI_ExtrusionDlg.mySelectedObject [private]
LightApp_SelectionMgr* SMESHGUI_ExtrusionDlg.mySelectionMgr [private]
SVTK_Selector* SMESHGUI_ExtrusionDlg.mySelector [private]
SMESHGUI* SMESHGUI_PreviewDlg.mySMESHGUI [protected, inherited]

Definition at line 61 of file SMESHGUI_PreviewDlg.h.

Referenced by SMESHGUI_TranslationDlg.ActivateThisDialog(), SMESHGUI_SymmetryDlg.ActivateThisDialog(), SMESHGUI_ScaleDlg.ActivateThisDialog(), SMESHGUI_RotationDlg.ActivateThisDialog(), SMESHGUI_RevolutionDlg.ActivateThisDialog(), ActivateThisDialog(), SMESHGUI_ExtrusionAlongPathDlg.ActivateThisDialog(), SMESHGUI_TranslationDlg.ClickOnApply(), SMESHGUI_SymmetryDlg.ClickOnApply(), SMESHGUI_ScaleDlg.ClickOnApply(), SMESHGUI_RotationDlg.ClickOnApply(), SMESHGUI_RevolutionDlg.ClickOnApply(), ClickOnApply(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnApply(), SMESHGUI_TranslationDlg.ClickOnCancel(), SMESHGUI_SymmetryDlg.ClickOnCancel(), SMESHGUI_ScaleDlg.ClickOnCancel(), SMESHGUI_RotationDlg.ClickOnCancel(), SMESHGUI_TranslationDlg.ClickOnHelp(), SMESHGUI_SymmetryDlg.ClickOnHelp(), SMESHGUI_ScaleDlg.ClickOnHelp(), SMESHGUI_RotationDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.ClickOnHelp(), ClickOnHelp(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.closeEvent(), closeEvent(), SMESHGUI_TranslationDlg.ConstructorsClicked(), SMESHGUI_SymmetryDlg.ConstructorsClicked(), SMESHGUI_ScaleDlg.ConstructorsClicked(), SMESHGUI_RevolutionDlg.ConstructorsClicked(), ConstructorsClicked(), SMESHGUI_ExtrusionAlongPathDlg.ConstructorsClicked(), SMESHGUI_TranslationDlg.DeactivateActiveDialog(), SMESHGUI_SymmetryDlg.DeactivateActiveDialog(), SMESHGUI_ScaleDlg.DeactivateActiveDialog(), SMESHGUI_RotationDlg.DeactivateActiveDialog(), SMESHGUI_RevolutionDlg.DeactivateActiveDialog(), DeactivateActiveDialog(), SMESHGUI_ExtrusionAlongPathDlg.DeactivateActiveDialog(), SMESHGUI_TranslationDlg.onSelectMesh(), SMESHGUI_SymmetryDlg.onSelectMesh(), SMESHGUI_ScaleDlg.onSelectMesh(), SMESHGUI_RotationDlg.onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectMesh(), onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectVectorMenu(), SMESHGUI_TranslationDlg.onTextChange(), SMESHGUI_SymmetryDlg.onTextChange(), SMESHGUI_ScaleDlg.onTextChange(), SMESHGUI_RotationDlg.onTextChange(), SMESHGUI_RevolutionDlg.onTextChange(), onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.reject(), SMESHGUI_TranslationDlg.SetEditCurrentArgument(), SMESHGUI_SymmetryDlg.SetEditCurrentArgument(), SMESHGUI_ScaleDlg.SetEditCurrentArgument(), SMESHGUI_RotationDlg.SetEditCurrentArgument(), SMESHGUI_RevolutionDlg.SetEditCurrentArgument(), SetEditCurrentArgument(), SMESHGUI_ExtrusionAlongPathDlg.SetEditCurrentArgument(), SMESHGUI_TranslationDlg.setFilters(), SMESHGUI_SymmetryDlg.setFilters(), SMESHGUI_ScaleDlg.setFilters(), SMESHGUI_RotationDlg.setFilters(), SMESHGUI_RevolutionDlg.setFilters(), setFilters(), SMESHGUI_ExtrusionAlongPathDlg.setFilters(), SMESHGUI_ExtrusionAlongPathDlg.SMESHGUI_ExtrusionAlongPathDlg(), SMESHGUI_ExtrusionDlg(), SMESHGUI_PreviewDlg.SMESHGUI_PreviewDlg(), SMESHGUI_RevolutionDlg.SMESHGUI_RevolutionDlg(), SMESHGUI_RotationDlg.SMESHGUI_RotationDlg(), SMESHGUI_ScaleDlg.SMESHGUI_ScaleDlg(), SMESHGUI_SymmetryDlg.SMESHGUI_SymmetryDlg(), and SMESHGUI_TranslationDlg.SMESHGUI_TranslationDlg().

QRadioButton* SMESHGUI_ExtrusionDlg.RadioButton1 [private]

Definition at line 102 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SMESHGUI_ExtrusionDlg().

QRadioButton* SMESHGUI_ExtrusionDlg.RadioButton2 [private]

Definition at line 103 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SMESHGUI_ExtrusionDlg().

QRadioButton* SMESHGUI_ExtrusionDlg.RadioButton3 [private]
QRadioButton* SMESHGUI_ExtrusionDlg.RadioButton4 [private]

Definition at line 110 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_ExtrusionDlg().

SalomeApp_IntSpinBox* SMESHGUI_ExtrusionDlg.SpinBox_NbSteps [private]

Definition at line 128 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 114 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 116 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 118 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 120 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 109 of file SMESHGUI_ExtrusionDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ExtrusionDlg().

Definition at line 130 of file SMESHGUI_ExtrusionDlg.h.

Referenced by SMESHGUI_ExtrusionDlg().

Definition at line 113 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 122 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 124 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Definition at line 126 of file SMESHGUI_ExtrusionDlg.h.

Referenced by ClickOnRadio(), and SMESHGUI_ExtrusionDlg().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS