]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
Remove last wrong commits.
authorrnv <rnv@opencascade.com>
Wed, 16 Jul 2014 13:43:58 +0000 (17:43 +0400)
committerrnv <rnv@opencascade.com>
Wed, 16 Jul 2014 13:43:58 +0000 (17:43 +0400)
24 files changed:
doc/salome/examples/defining_hypotheses_adaptive1d.py
doc/salome/gui/SMESH/images/adaptive1d.png
doc/salome/gui/SMESH/input/1d_meshing_hypo.doc
idl/SMESH_BasicHypothesis.idl
resources/StdMeshers.xml.in
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h
src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.cxx
src/SMESHGUI/SMESHGUI_AddQuadraticElementDlg.h
src/SMESHGUI/SMESHGUI_MeshOp.cxx
src/SMESHGUI/SMESHGUI_VTKUtils.cxx
src/SMESHGUI/SMESHGUI_VTKUtils.h
src/SMESHGUI/SMESH_msg_en.ts
src/SMESHGUI/SMESH_msg_fr.ts
src/SMESHGUI/SMESH_msg_ja.ts
src/SMESH_SWIG/StdMeshersBuilder.py
src/StdMeshers/StdMeshers_Adaptive1D.cxx
src/StdMeshers/StdMeshers_Adaptive1D.hxx
src/StdMeshersGUI/StdMeshersGUI_StdHypothesisCreator.cxx
src/StdMeshersGUI/StdMeshers_msg_en.ts
src/StdMeshersGUI/StdMeshers_msg_fr.ts
src/StdMeshersGUI/StdMeshers_msg_ja.ts
src/StdMeshers_I/StdMeshers_Adaptive1D_i.cxx
src/StdMeshers_I/StdMeshers_Adaptive1D_i.hxx

index 0110ebc886acc62a5ce424ee58eddfd7726c5e96..96e2fabfe1912ce45ff7bcdad8640cd474d92771 100644 (file)
@@ -19,14 +19,12 @@ shape = geompy.MakeCut( shape, tool, theName="shape" )
 # Parameters of Adaptive hypothesis. minSize and maxSize are such that they do not limit
 # size of segments because size of geometrical features lies within [2.-100.] range, hence
 # size of segments is defined by deflection parameter and size of geometrical features only.
-# grading is defined how much size of adjacent elements can differ.
 minSize = 0.1
 maxSize = 200
 deflection = 0.05
-grading = 0.7
 
 mesh = smesh.Mesh( shape )
-mesh.Segment().Adaptive( minSize, maxSize, deflection, grading )
+mesh.Segment().Adaptive( minSize, maxSize, deflection )
 mesh.Triangle().MaxElementArea( 300 )
 mesh.Compute()
 
index dcabeee0fafdef4545744b1cc09fbe4482ab54ee..8091c8d0ed7e8da41533a57a36ea75a44e36cd2b 100644 (file)
Binary files a/doc/salome/gui/SMESH/images/adaptive1d.png and b/doc/salome/gui/SMESH/images/adaptive1d.png differ
index d11a8baa04d3df70f38238241399c8713acf9961..1228865f7a643638333442e018cd0ee2646eeba1 100644 (file)
@@ -31,8 +31,8 @@ creation of narrow 2D elements.
 
 - <b>Min size</b> parameter limits the minimal segment size. 
 - <b>Max size</b> parameter defines the length of segments on straight edges. 
-- <b>Deflection</b> parameter gives maximal distance of a segment from a curved edge.
-- <b>Grading</b> parameter defines how much size of adjacent elements can differ.
+- \b Deflection parameter gives maximal distance of a segment from a curved edge.
+
 \image html adaptive1d_sample_mesh.png "Adaptive hypothesis and Netgen 2D algorithm - the size of mesh segments reflects the size of geometrical features"
 
 <b>See Also</b> a \ref tui_1d_adaptive "sample TUI Script" that uses Adaptive hypothesis.
index a8f9b31b1313fb0b580f6f3ea7f4041b0da732be..72d1b1a2d2817cd9e7cd4bc128332ffe3a182ff2 100644 (file)
@@ -433,13 +433,6 @@ module StdMeshers
      */
     void SetDeflection(in double deflection) raises (SALOME::SALOME_Exception);
     double GetDeflection();
-    
-    /*!
-     * Sets <grading> parameter value, 
-     * i.e. how much size of adjacent elements can differ
-     */
-    void SetGrading(in double grading) raises (SALOME::SALOME_Exception);
-    double GetGrading();
   };
 
   /*!
index cf8146f54948fb0901589684bb9db9a722ffa234..239ff2cb4919b3e4cdce58a31602899989bb665e 100644 (file)
         <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
-        <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection(),SetGrading())</hypo>
+        <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
         <hypo>Propagation=Propagation()</hypo>
         <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
-        <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection(),SetGrading())</hypo>
+        <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
         <hypo>Propagation=Propagation()</hypo>
index 20452fc65c95785afb236029fffeaf436dccbe41..79588047cb0abfb36b46746cfd9387503fc559e0 100644 (file)
@@ -413,26 +413,14 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI*          theMo
 
   Reverse = (myElementType == SMDSAbs_Face || myElementType == SMDSAbs_Volume ) ? new QCheckBox(tr("SMESH_REVERSE"), GroupC1) : 0;
 
-  AutomaticPresentation = (myGeomType == SMDSEntity_Quadrangle || myGeomType == SMDSEntity_Polygon ||
-                           myGeomType == SMDSEntity_Pyramid    || myGeomType == SMDSEntity_Hexa    ||
-                           myGeomType == SMDSEntity_Penta      || myGeomType == SMDSEntity_Hexagonal_Prism ) ? new QCheckBox(tr("SMESH_AUTOMATIC_PRESENTATION"), GroupC1) : 0;
-  if ( AutomaticPresentation ) {
-    GetNextPresentationButton = new QPushButton(tr("SMESH_BUT_GET_NEXT_SHAPE"), GroupC1);
-    GetNextPresentationButton->setAutoDefault(false);
-  }
   DiameterSpinBox = ( myGeomType == SMDSEntity_Ball ) ? new SMESHGUI_SpinBox(GroupC1) : 0;
   QLabel* diameterLabel = DiameterSpinBox ? new QLabel( tr("BALL_DIAMETER"),GroupC1) : 0;
 
   GroupC1Layout->addWidget(TextLabelC1A1,    0, 0);
   GroupC1Layout->addWidget(SelectButtonC1A1, 0, 1);
   GroupC1Layout->addWidget(LineEditC1A1,     0, 2);
-  if ( AutomaticPresentation ) {
-    AutomaticPresentation->setChecked(true);
-    GroupC1Layout->addWidget(AutomaticPresentation, 1, 0, 1, 2);
-    GroupC1Layout->addWidget(GetNextPresentationButton, 1, 2, 1, 1);
-  }
   if ( Reverse ) {
-    GroupC1Layout->addWidget(Reverse, 2, 0, 1, 3);
+    GroupC1Layout->addWidget(Reverse, 1, 0, 1, 3);
   }
   if ( DiameterSpinBox ) {
     GroupC1Layout->addWidget(diameterLabel,   1, 0);
@@ -518,25 +506,22 @@ void SMESHGUI_AddMeshElementDlg::Init()
   myActor = 0;
 
   /* signals and slots connections */
-  connect(buttonOk,                SIGNAL(clicked()),                     SLOT(ClickOnOk()));
-  connect(buttonCancel,            SIGNAL(clicked()),                     SLOT(reject()));
-  connect(buttonApply,             SIGNAL(clicked()),                     SLOT(ClickOnApply()));
-  connect(buttonHelp,              SIGNAL(clicked()),                     SLOT(ClickOnHelp()));
-
-  connect(SelectButtonC1A1,        SIGNAL(clicked()),                     SLOT(SetEditCurrentArgument()));
-  connect(LineEditC1A1,            SIGNAL(textChanged(const QString&)),   SLOT(onTextChange(const QString&)));
-  connect(mySMESHGUI,              SIGNAL(SignalDeactivateActiveDialog()),SLOT(DeactivateActiveDialog()));
-  connect(mySelectionMgr,          SIGNAL(currentSelectionChanged()),     SLOT(SelectionIntoArgument()));
+  connect(buttonOk,        SIGNAL(clicked()),                     SLOT(ClickOnOk()));
+  connect(buttonCancel,    SIGNAL(clicked()),                     SLOT(reject()));
+  connect(buttonApply,     SIGNAL(clicked()),                     SLOT(ClickOnApply()));
+  connect(buttonHelp,      SIGNAL(clicked()),                     SLOT(ClickOnHelp()));
+
+  connect(SelectButtonC1A1,SIGNAL(clicked()),                     SLOT(SetEditCurrentArgument()));
+  connect(LineEditC1A1,    SIGNAL(textChanged(const QString&)),   SLOT(onTextChange(const QString&)));
+  connect(mySMESHGUI,      SIGNAL(SignalDeactivateActiveDialog()),SLOT(DeactivateActiveDialog()));
+  connect(mySelectionMgr,  SIGNAL(currentSelectionChanged()),     SLOT(SelectionIntoArgument()));
   /* to close dialog if study frame change */
-  connect(mySMESHGUI,              SIGNAL(SignalStudyFrameChanged()),     SLOT(reject()));
-  connect(mySMESHGUI,              SIGNAL(SignalCloseAllDialogs()),       SLOT(reject()));
+  connect(mySMESHGUI,      SIGNAL(SignalStudyFrameChanged()),     SLOT(reject()));
+  connect(mySMESHGUI,      SIGNAL(SignalCloseAllDialogs()),       SLOT(reject()));    
 
   if (Reverse)
-    connect(Reverse,               SIGNAL(stateChanged(int)),             SLOT(CheckBox(int)));
-  if (AutomaticPresentation) {
-    connect(AutomaticPresentation, SIGNAL(stateChanged(int)),             SLOT(SelectionIntoArgument()));
-    connect(GetNextPresentationButton, SIGNAL(clicked()),                 SLOT(GetNextShapePresentation()));
-  }
+    connect(Reverse,       SIGNAL(stateChanged(int)),             SLOT(CheckBox(int)));
+
   // set selection mode
   SMESH::SetPointRepresentation(true);
 
@@ -664,8 +649,6 @@ void SMESHGUI_AddMeshElementDlg::ClickOnApply()
     
     buttonOk->setEnabled(false);
     buttonApply->setEnabled(false);
-    if ( AutomaticPresentation )
-      GetNextPresentationButton->setEnabled(false);
 
     myEditCurrentArgument->setText("");
 
@@ -738,8 +721,6 @@ void SMESHGUI_AddMeshElementDlg::onTextChange (const QString& theNewText)
 
   buttonOk->setEnabled(false);
   buttonApply->setEnabled(false);
-  if ( AutomaticPresentation )
-    GetNextPresentationButton->setEnabled(false);
 
   mySimulation->SetVisibility(false);
 
@@ -781,8 +762,6 @@ void SMESHGUI_AddMeshElementDlg::onTextChange (const QString& theNewText)
   if(myNbOkNodes) {
     buttonOk->setEnabled(true);
     buttonApply->setEnabled(true);
-    if ( AutomaticPresentation && AutomaticPresentation->isChecked() )
-      GetNextPresentationButton->setEnabled(true);
     displaySimulation();
   }
 
@@ -802,7 +781,6 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
   myActor = 0;
 
   myBusy = true;
-  QString anOldEditArgument = myEditCurrentArgument->text();
   myEditCurrentArgument->setText("");
   myBusy = false;
 
@@ -811,8 +789,6 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
 
   buttonOk->setEnabled(false);
   buttonApply->setEnabled(false);
-  if ( AutomaticPresentation )
-    GetNextPresentationButton->setEnabled(false);
 
   mySimulation->SetVisibility(false);
   //  SMESH::SetPointRepresentation(true);
@@ -856,34 +832,14 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
 
   // get selected nodes
   QString aString = "";
-  int nbNodes = 0;
-  while ( aString == "" || anOldEditArgument == aString ) {
-    if ( AutomaticPresentation && AutomaticPresentation->isChecked() ) {
-      nbNodes = SMESH::GetNameOfSelectedSortedNodes( myGeomType , mySelector, myActor, myShift, aString );
-    }
-    else
-      nbNodes = SMESH::GetNameOfSelectedNodes( mySelector, myActor->getIO(), aString );
-    if ( aString!= "" && myNbNodes == nbNodes && anOldEditArgument == aString && AutomaticPresentation && AutomaticPresentation->isChecked()) {
-      myShift++;
-      if ( myShift > nbNodes ) {
-        myEditCurrentArgument->setText(aString);
-        myShift = 0;
-        break;
-      }
-      continue;
-    }
-    myBusy = true;
-    myEditCurrentArgument->setText(aString);
-    myBusy = false;
-    if (myIsPoly && myElementType == SMDSAbs_Face && nbNodes >= 3 )
-      myNbNodes = nbNodes;
-    else if (myNbNodes != nbNodes && myNbNodes != 1) {
-      myShift = 0;
-      return;
-    }
-    if ( !AutomaticPresentation || !AutomaticPresentation->isChecked() ||
-       ( myIsPoly && nbNodes < 3 ) )
-      break;
+  int nbNodes = SMESH::GetNameOfSelectedNodes(mySelector,myActor->getIO(),aString);
+  myBusy = true;
+  myEditCurrentArgument->setText(aString);
+  myBusy = false;
+  if (myIsPoly && myElementType == SMDSAbs_Face && nbNodes >= 3 ) {
+    myNbNodes = nbNodes;
+  } else if (myNbNodes != nbNodes && myNbNodes != 1) {
+    return;
   }
 
   // OK
@@ -891,8 +847,6 @@ void SMESHGUI_AddMeshElementDlg::SelectionIntoArgument()
 
   buttonOk->setEnabled(true);
   buttonApply->setEnabled(true);
-  if ( AutomaticPresentation && AutomaticPresentation->isChecked() )
-    GetNextPresentationButton->setEnabled(true);
 
   displaySimulation();
 }
@@ -942,16 +896,6 @@ void SMESHGUI_AddMeshElementDlg::SetEditCurrentArgument()
   SelectionIntoArgument();
 }
 
-//=================================================================================
-// function : GetNextShapePresentation()
-// purpose  :
-//=================================================================================
-void SMESHGUI_AddMeshElementDlg::GetNextShapePresentation()
-{
-  myShift++;
-  SetEditCurrentArgument();
-}
-
 //=================================================================================
 // function : DeactivateActiveDialog()
 // purpose  :
index d40d410bdb229335f0e632b88ddd76ed66651e5a..af99005e2e41d816486518f92fc80c5fb435b2ac 100644 (file)
@@ -90,7 +90,6 @@ private:
   int                         myElementType;
   int                         myNbNodes;
   bool                        myIsPoly;
-  int                         myShift;
   
   SMESH::SMESH_Mesh_var       myMesh;
   SMESH_Actor*                myActor;
@@ -111,10 +110,8 @@ private:
   QGroupBox*                  GroupC1;
   QLabel*                     TextLabelC1A1;
   QPushButton*                SelectButtonC1A1;
-  QPushButton*                GetNextPresentationButton;
   QLineEdit*                  LineEditC1A1;
   QCheckBox*                  Reverse;
-  QCheckBox*                  AutomaticPresentation;
   SMESHGUI_SpinBox*           DiameterSpinBox;
   
   QString                     myHelpFileName;
@@ -127,7 +124,6 @@ private slots:
   void                        ClickOnOk();
   void                        ClickOnApply();
   void                        ClickOnHelp();
-  void                        GetNextShapePresentation();
   void                        SetEditCurrentArgument();
   void                        SelectionIntoArgument();
   void                        DeactivateActiveDialog();
index 49d24f18c1d39c0b59829496ce48b8ecedc68e44..31a6214dc95fe7eb5bb8430e22af1aff7d0068a5 100644 (file)
@@ -36,7 +36,6 @@
 
 #include <SMESH_Actor.h>
 #include <SMESH_ActorUtils.h>
-#include <SMESH_DeviceActor.h>
 #include <SMESH_FaceOrientationFilter.h>
 #include <SMDS_Mesh.hxx>
 
@@ -53,8 +52,6 @@
 #include <SVTK_ViewWindow.h>
 
 #include <SALOME_ListIO.hxx>
-#include <SALOME_ListIteratorOfListIO.hxx>
-#include <VTKViewer_PolyDataMapper.h>
 
 #include <SalomeApp_Application.h>
 
 #include <TColStd_MapOfInteger.hxx>
 
 // VTK includes
-#include <vtkCell.h>
 #include <vtkIdList.h>
 #include <vtkUnstructuredGrid.h>
 #include <vtkDataSetMapper.h>
 #include <vtkPolyDataMapper.h>
 #include <vtkProperty.h>
 #include <vtkCellType.h>
-#include <vtkCellData.h>
 
 // Qt includes
 #include <QComboBox>
@@ -126,14 +121,7 @@ namespace SMESH
     SALOME_Actor* myPreviewActor;
     vtkDataSetMapper* myMapper;
     vtkUnstructuredGrid* myGrid;
-
-    SALOME_Actor* myCornerActor;
-    VTKViewer_PolyDataMapper* myCornerMapper;
-    vtkPolyData* myCornerPolyData;
-
-    SALOME_Actor* mySelectCornerActor;
-    VTKViewer_PolyDataMapper* mySelectCornerMapper;
-    vtkPolyData* mySelectCornerPolyData;
+    //vtkProperty* myBackProp, *myProp;
 
     //double myRGB[3], myBackRGB[3];
 
@@ -198,45 +186,6 @@ namespace SMESH
       anOrientationProp->Delete();
 
       myVTKViewWindow->AddActor(myFaceOrientation);
-
-      // Create and display actor with corner nodes
-      myCornerPolyData = vtkPolyData::New();
-      myCornerPolyData->Allocate();
-      myCornerMapper = VTKViewer_PolyDataMapper::New();
-      myCornerMapper->SetInputData(myCornerPolyData);
-      myCornerMapper->SetMarkerEnabled(true);
-
-      myCornerActor = SALOME_Actor::New();
-      myCornerActor->PickableOff();
-      myCornerActor->VisibilityOff();
-      myCornerActor->SetMapper(myCornerMapper);
-
-      vtkProperty* myCornerProp = vtkProperty::New();
-      myCornerProp->SetColor( 50 / 255. , 100 / 255. , 0 / 255. );
-      myCornerActor->SetProperty( myCornerProp );
-      myCornerProp->Delete();
-
-      myVTKViewWindow->AddActor(myCornerActor);
-
-      // Create and display actor with selected corner nodes
-      mySelectCornerPolyData = vtkPolyData::New();
-      mySelectCornerPolyData->Allocate();
-      mySelectCornerMapper = VTKViewer_PolyDataMapper::New();
-      mySelectCornerMapper->SetInputData(mySelectCornerPolyData);
-      mySelectCornerMapper->SetMarkerEnabled(true);
-
-      mySelectCornerActor = SALOME_Actor::New();
-      mySelectCornerActor->PickableOff();
-      mySelectCornerActor->VisibilityOff();
-      mySelectCornerActor->SetMapper(mySelectCornerMapper);
-
-      vtkProperty* mySelectCornerProp = vtkProperty::New();
-      mySelectCornerProp->SetColor( ffc.red() / 255. , ffc.green() / 255. , ffc.blue() / 255. );
-      mySelectCornerActor->SetProperty( mySelectCornerProp );
-      mySelectCornerProp->Delete();
-
-      myVTKViewWindow->AddActor(mySelectCornerActor);
-
     }
 
     typedef std::vector<vtkIdType> TVTKIds;
@@ -269,76 +218,26 @@ namespace SMESH
 
       myPreviewActor->GetMapper()->Update();
       myPreviewActor->SetRepresentation( theMode );
+      SetVisibility(true, theActor->GetFacesOriented());
     }
-    void SetCornerNodes (SMESH_Actor*       theActor,
-                         TVTKIds&           theIds)
-    {
-      vtkUnstructuredGrid *aGrid = theActor->GetUnstructuredGrid();
-
-      myCornerMapper->SetMarkerStd(theActor->GetMarkerType(), theActor->GetMarkerScale());
-
-      myCornerPolyData->Reset();
-      myCornerPolyData->DeleteCells();
-      myCornerPolyData->SetPoints(aGrid->GetPoints());
-
-      vtkIdList *anIds = vtkIdList::New();
-      for (int i = 0, iEnd = theIds.size(); i < iEnd; i++) {
-        anIds->InsertId(i,theIds[i]);
-        myCornerPolyData->InsertNextCell(VTK_VERTEX, anIds);
-        anIds->Reset();
-      }
-      anIds->Delete();
-      myCornerPolyData->Modified();
-      myCornerActor->GetMapper()->Update();
-      myCornerActor->SetRepresentation(SMESH_Actor::ePoint);
-    }
-    void SetSelectedNodes (SMESH_Actor*       theActor,
-                           TVTKIds&           theIds)
-    {
-      vtkUnstructuredGrid *aGrid = theActor->GetUnstructuredGrid();
 
-      mySelectCornerMapper->SetMarkerStd(theActor->GetMarkerType(), theActor->GetMarkerScale());
-
-      mySelectCornerPolyData->Reset();
-      mySelectCornerPolyData->DeleteCells();
-      mySelectCornerPolyData->SetPoints(aGrid->GetPoints());
-
-      vtkIdList *anIds = vtkIdList::New();
-      for (int i = 0, iEnd = theIds.size(); i < iEnd; i++) {
-        anIds->InsertId(i,theIds[i]);
-        mySelectCornerPolyData->InsertNextCell(VTK_VERTEX, anIds);
-        anIds->Reset();
-      }
-      anIds->Delete();
-      mySelectCornerPolyData->Modified();
-      mySelectCornerActor->GetMapper()->Update();
-      mySelectCornerActor->SetRepresentation(SMESH_Actor::ePoint);
-    }
 
-    void SetVisibility ( bool theVisibility,
-                         bool theCornerVisibility = false,
-                         bool theSelectCornerVisibility = false,
-                         bool theShowOrientation = false )
+    void SetVisibility (bool theVisibility, bool theShowOrientation = false)
     {
       myPreviewActor->SetVisibility(theVisibility);
       myFaceOrientation->SetVisibility(theShowOrientation);
-      myCornerActor->SetVisibility(theCornerVisibility);
-      mySelectCornerActor->SetVisibility(theSelectCornerVisibility);
       RepaintCurrentView();
     }
 
+
     ~TElementSimulationQuad()
     {
       if (FindVtkViewWindow(myApplication->activeViewManager(), myViewWindow)) {
         myVTKViewWindow->RemoveActor(myPreviewActor);
         myVTKViewWindow->RemoveActor(myFaceOrientation);
-        myVTKViewWindow->RemoveActor(myCornerActor);
-        myVTKViewWindow->RemoveActor(mySelectCornerActor);
       }
       myPreviewActor->Delete();
       myFaceOrientation->Delete();
-      myCornerActor->Delete();
-      mySelectCornerActor->Delete();
 
       myMapper->RemoveAllInputs();
       myMapper->Delete();
@@ -350,14 +249,6 @@ namespace SMESH
 
       myGrid->Delete();
 
-      myCornerMapper->RemoveAllInputs();
-      myCornerMapper->Delete();
-      myCornerPolyData->Delete();
-
-      mySelectCornerMapper->RemoveAllInputs();
-      mySelectCornerMapper->Delete();
-      mySelectCornerPolyData->Delete();
-
 //       myProp->Delete();
 //       myBackProp->Delete();
     }
@@ -552,30 +443,19 @@ SMESHGUI_AddQuadraticElementDlg::SMESHGUI_AddQuadraticElementDlg( SMESHGUI* theM
   myCenterNode->setValidator(new SMESHGUI_IdValidator(this, 1));
 
   myReverseCB = new QCheckBox(tr("SMESH_REVERSE"), GroupArguments);
-  myAutomaticPresentation = (myGeomType == SMDSEntity_Quad_Quadrangle || myGeomType == SMDSEntity_BiQuad_Quadrangle ||
-                             myGeomType == SMDSEntity_Quad_Pyramid    || myGeomType == SMDSEntity_Quad_Penta        ||
-                             myGeomType == SMDSEntity_Quad_Hexa       || myGeomType == SMDSEntity_TriQuad_Hexa ) ? new QCheckBox(tr("SMESH_AUTOMATIC_PRESENTATION"), GroupArguments) : 0;
-  if ( myAutomaticPresentation ) {
-    myNextPresentationButton = new QPushButton(tr("SMESH_BUT_GET_NEXT_SHAPE"), GroupArguments);
-    myNextPresentationButton->setAutoDefault(false);
-  }
 
   aGroupArgumentsLayout->addWidget(aCornerNodesLabel,     0, 0);
   aGroupArgumentsLayout->addWidget(myCornerSelectButton,  0, 1);
   aGroupArgumentsLayout->addWidget(myCornerNodes,         0, 2);
-  if ( myAutomaticPresentation ) {
-    myAutomaticPresentation->setChecked(true);
-    aGroupArgumentsLayout->addWidget(myAutomaticPresentation,  1, 0, 1, 2);
-    aGroupArgumentsLayout->addWidget(myNextPresentationButton, 1, 2, 1, 1);
-  }
-  aGroupArgumentsLayout->addWidget(myTable,               2, 0, 1, 3);
-  aGroupArgumentsLayout->addWidget(myMidFaceLabel,        3, 0);
-  aGroupArgumentsLayout->addWidget(myMidFaceSelectButton, 3, 1);
-  aGroupArgumentsLayout->addWidget(myMidFaceNodes,        3, 2);
-  aGroupArgumentsLayout->addWidget(myCenterLabel,         4, 0);
-  aGroupArgumentsLayout->addWidget(myCenterSelectButton,  4, 1);
-  aGroupArgumentsLayout->addWidget(myCenterNode,          4, 2);
-  aGroupArgumentsLayout->addWidget(myReverseCB,           5, 0, 1, 3);
+  aGroupArgumentsLayout->addWidget(myTable,               1, 0, 1, 3);
+  aGroupArgumentsLayout->addWidget(myMidFaceLabel,        2, 0);
+  aGroupArgumentsLayout->addWidget(myMidFaceSelectButton, 2, 1);
+  aGroupArgumentsLayout->addWidget(myMidFaceNodes,        2, 2);
+  aGroupArgumentsLayout->addWidget(myCenterLabel,         3, 0);
+  aGroupArgumentsLayout->addWidget(myCenterSelectButton,  3, 1);
+  aGroupArgumentsLayout->addWidget(myCenterNode,          3, 2);
+  aGroupArgumentsLayout->addWidget(myReverseCB,           4, 0, 1, 3);
+
     /***************************************************************/
   GroupGroups = new QGroupBox( tr( "SMESH_ADD_TO_GROUP" ), this );
   GroupGroups->setCheckable( true );
@@ -770,10 +650,7 @@ void SMESHGUI_AddQuadraticElementDlg::Init()
   connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), SLOT(DeactivateActiveDialog()));
   connect(mySMESHGUI, SIGNAL (SignalStudyFrameChanged()), SLOT(reject()));
   connect(mySMESHGUI, SIGNAL (SignalCloseAllDialogs()), SLOT(reject()));
-  if (myAutomaticPresentation) {
-    connect(myAutomaticPresentation, SIGNAL(stateChanged(int)), SLOT(SetCurrentSelection()));
-    connect(myNextPresentationButton, SIGNAL(clicked()), SLOT(SetCurrentSelection()));
-  }
+
   myCurrentLineEdit = myCornerNodes;
 
   // set selection mode
@@ -1039,6 +916,7 @@ void SMESHGUI_AddQuadraticElementDlg::onTextChange (const QString& theNewText)
     if ( myCurrentLineEdit == myCornerNodes )
       UpdateTable( allOk );
   }
+
   updateButtons();
   displaySimulation();
 }
@@ -1054,39 +932,41 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
   BusyLocker lock( myBusy );
 
   QString aCurrentEntry = myEntry;
-  QString anOldEditArgument = "";
-  // clear
-  myActor = 0;
-  if ( myCurrentLineEdit ) {
-    anOldEditArgument = myCurrentLineEdit->text();
+
+  if ( myCurrentLineEdit )
+  {
+    // clear
+    myActor = 0;
+
     myCurrentLineEdit->setText("");
-  }
 
-  if (!GroupButtons->isEnabled()) // inactive
-    return;
+    if (!GroupButtons->isEnabled()) // inactive
+      return;
 
-  mySimulation->SetVisibility(false);
+    mySimulation->SetVisibility(false);
 
-  // get selected mesh
-  SALOME_ListIO aList;
-  mySelectionMgr->selectedObjects(aList);
+    // get selected mesh
+    SALOME_ListIO aList;
+    mySelectionMgr->selectedObjects(aList);
 
-  if (aList.Extent() != 1)
-  {
-    UpdateTable();
-    updateButtons();
-    return;
-  }
+    if (aList.Extent() != 1)
+    {
+      UpdateTable();
+      updateButtons();
+      return;
+    }
 
-  Handle(SALOME_InteractiveObject) anIO = aList.First();
-  myEntry = anIO->getEntry();
-  myMesh = SMESH::GetMeshByIO(anIO);
-  if (myMesh->_is_nil()) {
-    updateButtons();
-    return;
-  }
+    Handle(SALOME_InteractiveObject) anIO = aList.First();
+    myEntry = anIO->getEntry();
+    myMesh = SMESH::GetMeshByIO(anIO);
+    if (myMesh->_is_nil()) {
+      updateButtons();
+      return;
+    }
 
-  myActor = SMESH::FindActorByEntry(anIO->getEntry());
+    myActor = SMESH::FindActorByEntry(anIO->getEntry());
+
+  }
 
   // process groups
   if ( !myMesh->_is_nil() && myEntry != aCurrentEntry ) {
@@ -1126,42 +1006,18 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
     updateButtons();
     return;
   }
-  if ( myAutomaticPresentation )
-    myNextPresentationButton->setEnabled(false);
+
   // get selected nodes
   QString aString = "";
-  int nbNodes = 0;
-  while ( aString == "" || anOldEditArgument == aString ) {
-    if ( myAutomaticPresentation && myAutomaticPresentation->isChecked() ) {
-      nbNodes = SMESH::GetNameOfSelectedSortedNodes( myGeomType , mySelector, myActor, myShift, aString );
-    }
-    else
-      nbNodes = SMESH::GetNameOfSelectedNodes( mySelector, myActor->getIO(), aString );
-    if ( aString!= "" && myNbCorners == nbNodes && anOldEditArgument == aString && myAutomaticPresentation && myAutomaticPresentation->isChecked()) {
-      myShift++;
-      if ( myShift > nbNodes ) {
-        myShift = 0;
-        break;
-      }
-      continue;
-    }
-    if (myNbCorners != nbNodes && myNbCorners != 1) {
-      myShift = 0;
-      break;
-    }
-    if ( !myAutomaticPresentation || !myAutomaticPresentation->isChecked() )
-      break;
-  }
+  int nbNodes = SMESH::GetNameOfSelectedNodes(mySelector,myActor->getIO(),aString);
+
   if ( myCurrentLineEdit )
   {
-    if ( myCurrentLineEdit != myCenterNode || nbNodes == 1)
+    if ( myCurrentLineEdit != myCenterNode || nbNodes == 1 )
       myCurrentLineEdit->setText(aString);
 
-    if ( myCurrentLineEdit == myCornerNodes ) {
+    if ( myCurrentLineEdit == myCornerNodes )
       UpdateTable();
-      if ( myAutomaticPresentation && myAutomaticPresentation->isChecked() && myNbCorners == nbNodes)
-        myNextPresentationButton->setEnabled(true);
-    }
   }
   else if ( myTable->isEnabled() && nbNodes == 1 )
   {
@@ -1169,6 +1025,7 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
     if ( theCol == 1 )
       myTable->item(theRow, 1)->setText(aString);
   }
+
   updateButtons();
   displaySimulation();
 }
@@ -1178,10 +1035,9 @@ void SMESHGUI_AddQuadraticElementDlg::SelectionIntoArgument()
 // purpose  :
 //=================================================================================
 
-void SMESHGUI_AddQuadraticElementDlg::displaySimulation(int theRow, int theCol)
+void SMESHGUI_AddQuadraticElementDlg::displaySimulation()
 {
-  bool isValid = IsValid();
-  if ( ( isValid || myTable->isEnabled() ) && myActor )
+  if ( IsValid() )
   {
     SMESH::TElementSimulationQuad::TVTKIds anIds;
 
@@ -1189,6 +1045,7 @@ void SMESHGUI_AddQuadraticElementDlg::displaySimulation(int theRow, int theCol)
     int anID;
     bool ok;
     int aDisplayMode = VTK_SURFACE;
+
     if ( myGeomType == SMDSEntity_Quad_Edge )
     {
       anIds.push_back( myActor->GetObject()->GetNodeVTKId( myTable->item(0, 0)->text().toInt() ) );
@@ -1212,33 +1069,20 @@ void SMESHGUI_AddQuadraticElementDlg::displaySimulation(int theRow, int theCol)
         }
         anIds.push_back( myActor->GetObject()->GetNodeVTKId(anID) );
       }
-      if ( myNbMidFaceNodes && isValid)
+      if ( myNbMidFaceNodes )
       {
         QStringList aListId = myMidFaceNodes->text().split(" ", QString::SkipEmptyParts);
         for (int i = 0; i < aListId.count(); i++)
           anIds.push_back( myActor->GetObject()->GetNodeVTKId( aListId[ i ].toInt() ));
       }
-      if ( myNbCenterNodes && isValid)
+      if ( myNbCenterNodes )
       {
         QStringList aListId = myCenterNode->text().split(" ", QString::SkipEmptyParts);
         anIds.push_back( myActor->GetObject()->GetNodeVTKId( aListId[ 0 ].toInt() ));
       }
     }
-    if ( isValid )
-      mySimulation->SetPosition(myActor,myGeomType,anIds,aDisplayMode,myReverseCB->isChecked());
-    mySimulation->SetCornerNodes(myActor, anIds);
-    if ( theCol == 1 ) {
-      anIds.clear();
-      anIds.push_back( myActor->GetObject()->GetNodeVTKId( myTable->item(theRow, 0)->text().toInt() ) );
-      anIds.push_back( myActor->GetObject()->GetNodeVTKId( myTable->item(theRow, 2)->text().toInt() ) );
-      bool ok;
-      int anID;
-      anID = myTable->item(theRow, 1)->text().toInt(&ok);
-      if (ok)
-        anIds.push_back(myActor->GetObject()->GetNodeVTKId(anID));
-      mySimulation->SetSelectedNodes(myActor, anIds);
-    }
-    mySimulation->SetVisibility(isValid, true, true, myActor->GetFacesOriented());
+
+    mySimulation->SetPosition(myActor,myGeomType,anIds,aDisplayMode,myReverseCB->isChecked());
   }
   else
   {
@@ -1257,16 +1101,12 @@ void SMESHGUI_AddQuadraticElementDlg::SetCurrentSelection()
   QPushButton* send = (QPushButton*)sender();
   myCurrentLineEdit = 0;
 
-  if (send == myCornerSelectButton || (QCheckBox*)sender() == myAutomaticPresentation)
+  if (send == myCornerSelectButton)
     myCurrentLineEdit = myCornerNodes;
   else if ( send == myMidFaceSelectButton )
     myCurrentLineEdit = myMidFaceNodes;
   else if ( send == myCenterSelectButton )
     myCurrentLineEdit = myCenterNode;
-  else if (send == myNextPresentationButton ) {
-    myShift++;
-    myCurrentLineEdit = myCornerNodes;
-  }
 
   if ( myCurrentLineEdit )
   {
@@ -1464,7 +1304,7 @@ void SMESHGUI_AddQuadraticElementDlg::UpdateTable( bool theConersValidity )
 void SMESHGUI_AddQuadraticElementDlg::onCellDoubleClicked( int theRow, int theCol )
 {
   myCurrentLineEdit = 0;
-  displaySimulation(theRow, theCol);
+  displaySimulation();
   updateButtons();
 }
 
@@ -1476,7 +1316,7 @@ void SMESHGUI_AddQuadraticElementDlg::onCellDoubleClicked( int theRow, int theCo
 void SMESHGUI_AddQuadraticElementDlg::onCellTextChange(int theRow, int theCol)
 {
   myCurrentLineEdit = 0;
-  displaySimulation(theRow, theCol);
+  displaySimulation();
   updateButtons();
 }
 
index 19385a72cbb5ece59b0d7bc31414ed772e3cf9f8..bc336e668722d1f6e07a1efedb054c4447eca7fb 100644 (file)
@@ -75,7 +75,7 @@ private:
   void                        Init();
   void                        enterEvent( QEvent* );       /* mouse enter the QWidget */
   void                        keyPressEvent( QKeyEvent* );
-  void                        displaySimulation(int = -1, int = -1);
+  void                        displaySimulation();
   void                        UpdateTable( bool = true );
   bool                        IsValid();
   void                        updateButtons();
@@ -88,7 +88,6 @@ private:
   int                         myNbMidFaceNodes;
   int                         myNbCenterNodes;
   bool                        myBusy;
-  int                         myShift;
   SVTK_Selector*              mySelector;
   
   SMESH::SMESH_Mesh_var       myMesh;
@@ -113,8 +112,6 @@ private:
   QPushButton*                myCenterSelectButton;
   QLineEdit*                  myCenterNode;
   QTableWidget*               myTable;
-  QCheckBox*                  myAutomaticPresentation;
-  QPushButton*                myNextPresentationButton;
   QCheckBox*                  myReverseCB;
   
   QGroupBox*                  GroupGroups;
index c40e098aafafa2adc10a1bcc5c5e8a1395cf526f..10521987a966074700026710e6e62c04366ae7c3 100644 (file)
@@ -1396,6 +1396,7 @@ void SMESHGUI_MeshOp::onAlgoSelected( const int theIndex,
 
   const bool isSubmesh = ( myToCreate ? !myIsMesh : myDlg->isObjectShown( SMESHGUI_MeshDlg::Mesh ));
 
+  // if ( aDim >= SMESH::DIM_2D ) myAvailableHypData[ aDim ][ Algo ] = myFilteredAlgoData[aDim];
   HypothesisData* algoData = hypData( aDim, Algo, theIndex );
   HypothesisData* algoByDim[4];
   algoByDim[ aDim ] = algoData;
@@ -2567,7 +2568,7 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
 
   if ( anCompareType == "ANY" )
   {
-    for ( int dim = SMESH::DIM_3D; dim >= SMESH::DIM_2D; dim-- )
+    for ( int dim = SMESH::DIM_2D; dim <= SMESH::DIM_3D; dim++ )
     {
       isNone = currentHyp( dim, Algo ) < 0;
       isAvailableChoiceAlgo = false;
@@ -2580,35 +2581,30 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
       }
       myAvailableHypData[dim][Algo].clear();
       anAvailableAlgs.clear();
-      if ( dim != SMESH::DIM_2D || currentHyp( SMESH::DIM_3D, Algo ) < 0 ||
-           myAvailableHypData[SMESH::DIM_3D][Algo].empty() ||
-           !myAvailableHypData[SMESH::DIM_3D][Algo].at( currentHyp( SMESH::DIM_3D, Algo ) )->InputTypes.isEmpty() )
+      for (int i = 0 ; i < anAvailableAlgsData.count(); i++)
       {
-        for (int i = 0 ; i < anAvailableAlgsData.count(); i++)
+        HypothesisData* curAlgo = anAvailableAlgsData.at(i);
+        if ( aGeomVar->_is_nil() ||
+             SMESH::IsApplicable( curAlgo->TypeName, aGeomVar, toCheckIsApplicableToAll ))
         {
-          HypothesisData* curAlgo = anAvailableAlgsData.at(i);
-          if ( aGeomVar->_is_nil() ||
-              SMESH::IsApplicable( curAlgo->TypeName, aGeomVar, toCheckIsApplicableToAll ))
-          {
-            anAvailableAlgs.append( curAlgo->Label );
-            myAvailableHypData[dim][Algo].append( curAlgo );
-          }
+          anAvailableAlgs.append( curAlgo->Label );
+          myAvailableHypData[dim][Algo].append( curAlgo );
         }
-        if ( !isNone && algoCur ) {
-          for (int i = 0 ; i < myAvailableHypData[dim][Algo].count(); i++)
-          {
-            HypothesisData* algoAny = myAvailableHypData[dim][Algo].at(i);
-            if ( algoAny->Label == algoCur->Label ){
-              isAvailableChoiceAlgo = true;
-              anCurrentAvailableAlgo = i;
-              break;
-            }
+      }
+      if ( !isNone && algoCur ) {
+        for (int i = 0 ; i < myAvailableHypData[dim][Algo].count(); i++)
+        {
+          HypothesisData* algoAny = myAvailableHypData[dim][Algo].at(i);
+          if ( algoAny->Label == algoCur->Label ){
+            isAvailableChoiceAlgo = true;
+            anCurrentAvailableAlgo = i;
+            break;
           }
         }
-        else if ( !isNone ) {
-          isAvailableChoiceAlgo = true;
-          anCurrentAvailableAlgo = currentHyp( dim, Algo );
-        }
+      }
+      else if ( !isNone ) {
+        isAvailableChoiceAlgo = true;
+        anCurrentAvailableAlgo = currentHyp( dim, Algo );
       }
       myDlg->tab( dim )->setAvailableHyps( Algo, anAvailableAlgs );
       if ( isAvailableChoiceAlgo )
@@ -2734,24 +2730,11 @@ void SMESHGUI_MeshOp::setFilteredAlgoData( const int theTabIndex, const int theI
       {
         for (int i = SMESH::DIM_0D; i <= myMaxShapeDim; i++)
         {
-          if ( myAvailableHypData[i][Algo].count() == 0 ) {
-            availableHyps( i, Algo, anAvailableAlgs, anAvailableAlgsData );
-            for ( int i = 0 ; i < anAvailableAlgsData.count(); i++ )
-            {
-              HypothesisData* aCurAlgo = anAvailableAlgsData.at( i );
-              if ( aCurAlgo->Label == algoDataIn->Label ){
-                isAvailable = true;
-                break;
-              }
-            }
-          }
-          else {
-            for (int j = 0; j < myAvailableHypData[i][Algo].count(); ++j) {
-              HypothesisData* aCurAlgo = hypData( i, Algo, j );
-              if ( aCurAlgo->Label == algoDataIn->Label ){
-                isAvailable = true;
-                break;
-              }
+          for (int j = 0; j < myAvailableHypData[i][Algo].count(); ++j) {
+            HypothesisData* aCurAlgo =  hypData( i, Algo, j );
+            if ( aCurAlgo->Label == algoDataIn->Label ){
+              isAvailable = true;
+              break;
             }
           }
           if ( isAvailable ) break;
index a6755381339772b94d273354e213133579846cb7..6b67d5e9cc8cb3ffb6a1d399c1b562bee2dc679f 100644 (file)
 // OCCT includes
 #include <TColStd_IndexedMapOfInteger.hxx>
 #include <Standard_ErrorHandler.hxx>
-#include <ProjLib.hxx>
-#include <gp_Pln.hxx>
-#include <gp_Lin.hxx>
-#include <gce_MakePln.hxx>
-#include <gce_MakeLin.hxx>
-#include <GeomAPI_IntCS.hxx>
-#include <Geom_Line.hxx>
-#include <Geom_Plane.hxx>
 
 namespace SMESH
 {
@@ -1120,135 +1112,6 @@ namespace SMESH
 
 
   //----------------------------------------------------------------------------
-  int GetNameOfSelectedSortedNodes( SMDSAbs_EntityType theElementType,
-                                    SVTK_Selector* theSelector,
-                                    SMESH_Actor* theActor,
-                                    int theShift,
-                                    QString& theName)
-  {
-    theName = "";
-    TColStd_IndexedMapOfInteger aMapIndex;
-    Handle(SALOME_InteractiveObject) anIO = theActor->getIO();
-    theSelector->GetIndex(anIO, aMapIndex);
-
-    SMDS_Mesh* aMesh = 0;
-    if (theActor)
-      aMesh = theActor->GetObject()->GetMesh();
-
-    std::vector<SMESH_TNodeXYZ> aVectorOfNode;
-    std::list<int> aListOfId;
-    int aSize = aMapIndex.Extent();
-    for( int i = 1 ; i <= aSize; i++) {
-      SMESH_TNodeXYZ aCurNode = aMesh->FindNode( aMapIndex(i) );
-      aVectorOfNode.push_back( aCurNode );
-      aListOfId.push_back( aCurNode._node->GetID() );
-    }
-    SMESH_TNodeXYZ aFirstNode;
-    if ( aSize > 0 )
-      aFirstNode = aVectorOfNode[0];
-    int myNbNodes = 0;
-    std::list<int> aResultListId;
-    switch ( theElementType ) {
-      case SMDSEntity_0D:
-        myNbNodes = 1;
-        break;
-      case SMDSEntity_Ball:
-        myNbNodes = 1;
-        break;
-      case SMDSEntity_Edge:
-      case SMDSEntity_Quad_Edge:
-        myNbNodes = 2;
-        break;
-      case SMDSEntity_Triangle:
-      case SMDSEntity_Quad_Triangle:
-      case SMDSEntity_BiQuad_Triangle:
-        myNbNodes = 3;
-        break;
-      case SMDSEntity_Quadrangle:
-      case SMDSEntity_Quad_Quadrangle:
-      case SMDSEntity_BiQuad_Quadrangle:
-        myNbNodes = 4;
-        if ( myNbNodes <= aSize ) {
-          aVectorOfNode.resize( myNbNodes );
-          aVectorOfNode[0] = aVectorOfNode[theShift % myNbNodes];
-          aVectorOfNode[theShift % myNbNodes] = aFirstNode;
-          GetSortedNodesOnPolygon( aVectorOfNode, aResultListId );
-        }
-        break;
-      case SMDSEntity_Polygon:
-        myNbNodes = 0;
-        if ( aSize > 0 ) {
-          aVectorOfNode[0] = aVectorOfNode[theShift % aVectorOfNode.size()];
-          aVectorOfNode[theShift % aVectorOfNode.size()] = aFirstNode;
-        }
-        GetSortedNodesOnPolygon( aVectorOfNode, aResultListId );
-        break;
-      case SMDSEntity_Tetra:
-      case SMDSEntity_Quad_Tetra:
-        myNbNodes = 4;
-        break;
-      case SMDSEntity_Pyramid:
-      case SMDSEntity_Quad_Pyramid:
-        myNbNodes = 5;
-        if ( myNbNodes <= aSize ) {
-          aVectorOfNode.resize( myNbNodes );
-          aVectorOfNode[0] = aVectorOfNode[theShift % myNbNodes];
-          aVectorOfNode[theShift % myNbNodes] = aFirstNode;
-          GetSortedNodesOnPyramid( aVectorOfNode, aResultListId );
-        }
-        break;
-      case SMDSEntity_Hexa:
-      case SMDSEntity_Quad_Hexa:
-      case SMDSEntity_TriQuad_Hexa:
-        myNbNodes = 8;
-        if ( myNbNodes <= aSize ) {
-          aVectorOfNode.resize( myNbNodes );
-          aVectorOfNode[0] = aVectorOfNode[theShift % myNbNodes];
-          aVectorOfNode[theShift % myNbNodes] = aFirstNode;
-          GetSortedNodesOnPrism( aVectorOfNode, aResultListId );
-        }
-        break;
-      case SMDSEntity_Penta:
-      case SMDSEntity_Quad_Penta:
-        myNbNodes = 6;
-        if ( myNbNodes <= aSize ) {
-          aVectorOfNode.resize( myNbNodes );
-          aVectorOfNode[0] = aVectorOfNode[theShift % myNbNodes];
-          aVectorOfNode[theShift % myNbNodes] = aFirstNode;
-          GetSortedNodesOnPrism( aVectorOfNode, aResultListId );
-        }
-        break;
-      case SMDSEntity_Hexagonal_Prism:
-        myNbNodes = 12;
-        if ( myNbNodes <= aSize ) {
-          aVectorOfNode.resize( myNbNodes );
-          aVectorOfNode[0] = aVectorOfNode[theShift % myNbNodes];
-          aVectorOfNode[theShift % myNbNodes] = aFirstNode;
-          GetSortedNodesOnPrism( aVectorOfNode, aResultListId );
-        }
-        break;
-      default:
-        myNbNodes = 2;
-      }
-    if( myNbNodes > 0 ) {
-      if ( myNbNodes <= 3 || myNbNodes > aSize || theElementType == SMDSEntity_Tetra )
-        aResultListId = aListOfId;
-      if ( myNbNodes < aSize ) {
-        if ( aResultListId.size() == 0 )
-          return 0;
-        aVectorOfNode.resize( myNbNodes );
-        aResultListId.resize( myNbNodes );
-      }
-    }
-    std::list<int>::iterator anIter = aResultListId.begin();
-
-    for( ; anIter != aResultListId.end(); anIter++ ) {
-      theName += QString(" %1").arg( *anIter );
-    }
-    if ( myNbNodes <= 3 || myNbNodes > aSize || theElementType == SMDSEntity_Tetra )
-      return aSize;
-    return aVectorOfNode.size();
-  }
   int GetNameOfSelectedNodes(SVTK_Selector* theSelector,
                              const Handle(SALOME_InteractiveObject)& theIO,
                              QString& theName)
@@ -1544,590 +1407,9 @@ namespace SMESH
     DistanceToPosition( theBounds, theNormal, theDist, theOrigin );
     return true;
   }
-  bool CreatePlaneOnThreePoints( const gp_Pnt& thePoint1,
-                                 const gp_Pnt& thePoint2,
-                                 const gp_Pnt& thePoint3,
-                                 gp_Pln& thePlane )
-  {
-    gp_Vec aVec1, aVec2;
-    aVec1 = gp_Vec( thePoint1, thePoint2 );
-    aVec2 = gp_Vec( thePoint1, thePoint3 );
-    double anAngle = aVec1.Angle( aVec2 );
-    bool isOnStraight = ( anAngle != 0 && anAngle != M_PI );
-    if ( isOnStraight ) {
-      gce_MakePln aMakePln (thePoint1, thePoint2, thePoint3);
-      if ( aMakePln.IsDone() ) {
-        thePlane = aMakePln.Value();
-      }
-    }
-    return isOnStraight;
-  }
-
-  void FindNbLowestPoint( std::list<gp_Pnt2d> theList, gp_Pnt2d& theNode )
-  {
-    std::list<gp_Pnt2d>::iterator anIter = theList.begin();
-    gp_Pnt2d aNode = gp_Pnt2d ( (*anIter).X(), (*anIter).Y());
-    for( ; anIter != theList.end(); anIter++ ) {
-      if ( (*anIter).Y() < aNode.Y() || ( (*anIter).Y() == aNode.Y() && (*anIter).X() < aNode.X() ) )
-        aNode = *anIter;
-    }
-    theNode = aNode;
-  }
 
-  static bool CompareNodeOfAngleAndDist (const TNodeOfAngleAndDist& first, const TNodeOfAngleAndDist& second )
-  {
-    if ( first.second.second == 0 )
-      return true;
-    if ( second.second.second == 0 )
-      return false;
-    if ( first.second.first == 0 && second.second.first == 0 )
-      if ( first.second.second > second.second.second )
-        return false;
-      else
-        return true;
-    if ( first.second.first < second.second.first ||
-       ( first.second.first == second.second.first && first.second.second >= second.second.second ) )
-      return true;
-    return false;
-  }
-
-  static bool CompareNodeOfDist (const TNodeOfAngleAndDist& first, const TNodeOfAngleAndDist& second )
-  {
-    if ( first.second.second < second.second.second )
-      return true;
-    return false;
-  }
-
-  static bool CompareDistOfPlane ( const TNodeOfDistToPlaneAndDist& first, const TNodeOfDistToPlaneAndDist& second )
-  {
-    if ( first.second.first == 0 && second.second.first != 0 )
-      return true;
-    if ( first.second.first != 0 && second.second.first == 0 )
-      return false;
-    if ( first.second.first < second.second.first ||
-       (  first.second.first != 0 && second.second.first != 0 &&
-          first.second.first == second.second.first && first.second.second > second.second.second ) )
-      return true;
-    return false;
-  }
-
-  static bool CompareDistOfPlaneById ( const TIdOfDistToPlaneAndDist& first, const TIdOfDistToPlaneAndDist& second )
-  {
-    if ( first.second.first == 0 && second.second.first != 0 )
-      return true;
-    if ( first.second.first != 0 && second.second.first == 0 )
-      return false;
-    if ( first.second.first < second.second.first ||
-       (  first.second.first != 0 && second.second.first != 0 &&
-          first.second.first == second.second.first && first.second.second > second.second.second ) )
-      return true;
-    return false;
-  }
-
-  static bool CompareDistForCorrectPlane ( const TNodeOfDist& first, const TNodeOfDist& second )
-  {
-    if ( first.second < second.second ) return true;
-    return false;
-  }
-
-  bool IsNotPlaneIntersection( std::vector<SMESH_TNodeXYZ>& theVector, const gp_Pln& thePlane )
-  {
-    double A, B, C, D, aCur;
-    thePlane.Coefficients(A, B, C, D);
-    int aPlus = -1;
-    for ( int i = 0 ; i < (int)theVector.size(); ++i ) {
-      aCur = A * theVector[i]._xyz[0] + B * theVector[i]._xyz[1] + C * theVector[i]._xyz[2] + D;
-      if ( aCur == 0 )
-        continue;
-      if ( aPlus == -1 && aCur != 0 )
-        aPlus = ( aCur < 0 ) ? 0 : 1;
-      if ( aPlus > -1 && aPlus != ( aCur < 0 ) ? 0 : 1 )
-        return false;
-    }
-    return true;
-  }
-
-  bool GetNextCombination ( std::vector<int>& theVector1, std::vector<int>& theVector2, int theNbPoint )
-  {
-   int aSize = (int)theVector1.size();
-   for ( int i = aSize - 1; i >= 0; --i ) {
-     if ( theVector1[i] < theNbPoint - aSize + i ) {
-       ++theVector1[i];
-       for ( int j = i + 1; j < aSize; ++j )
-         theVector1[j] = theVector1[j-1] + 1;
-       int it = 0;
-       int it2 = 0;
-       bool isVec;
-       for ( int k = 0; k < theNbPoint; ++k ) {
-         isVec = false;
-         if( it < aSize ) {
-           if( k == theVector1[it] ) {
-             isVec = true;
-             ++it;
-           }
-         }
-         if ( isVec )
-           continue;
-         theVector2[it2] = k;
-         it2++;
-         if ( it2 == (int)theVector2.size() )
-           break;
-       }
-       return true;
-     }
-   }
-     return false;
-  }
-
-  bool Get2BasePlane( std::vector<SMESH_TNodeXYZ>& theVector,
-                      std::vector<SMESH_TNodeXYZ>& thePlane1,
-                      std::vector<SMESH_TNodeXYZ>& thePlane2 )
-  {
-    int aSize = (int)theVector.size() / 2;
-    if ( aSize < 3 || (int)theVector.size() % 2 != 0 )
-      return false;
-    int anArr1[3];
-    int anArr2[2 * aSize - 3];
-    for (int i = 0; i < 3 ; i++) {
-      anArr1[i] = i;
-    }
-    for (int i = 0; i < 2 * aSize - 3 ; i++) {
-      anArr2[i] = i + 3;
-    }
-    int aNbSwapFirstPoint = 0;
-    while ( thePlane1.empty() && thePlane2.empty() && aNbSwapFirstPoint < aSize * 2 ) {
-      std::vector<int> anIndexPlane1( anArr1, anArr1 + 3 );
-      std::vector<int> anIndexPlane2( anArr2, anArr2 + 2 * aSize - 3);
-      int aNbCombination = 0;
-      double aMax = 0;
-      double aSumMin = -1;
-      int aMaxCombination = 0;
-      thePlane1.clear();
-      thePlane2.clear();
-      for (int i = 1; i < 2 * aSize - 1; i++ ) {
-        aMaxCombination += i;
-      }
-      while ( aNbCombination < aMaxCombination ) {
-        gp_Pln aPlane;
-        double aSumMinDist1 = 0;
-        double aSumMinDist2 = 0;
-        std::vector<SMESH_TNodeXYZ> aVectorOfPoint;
-        for(int i = 0; i < 2 * aSize - 3; i++) {
-          aVectorOfPoint.push_back(theVector[anIndexPlane2[i]]);
-        }
-        bool isCorrectPlane = false;
-        bool isCreatePlane = CreatePlaneOnThreePoints( gp_Pnt(theVector[anIndexPlane1[0]]._xyz[0], theVector[anIndexPlane1[0]]._xyz[1], theVector[anIndexPlane1[0]]._xyz[2]),
-            gp_Pnt(theVector[anIndexPlane1[1]]._xyz[0], theVector[anIndexPlane1[1]]._xyz[1], theVector[anIndexPlane1[1]]._xyz[2]),
-            gp_Pnt(theVector[anIndexPlane1[2]]._xyz[0], theVector[anIndexPlane1[2]]._xyz[1], theVector[anIndexPlane1[2]]._xyz[2]),
-            aPlane );
-        if ( isCreatePlane ) {
-          isCorrectPlane = IsNotPlaneIntersection( aVectorOfPoint, aPlane );
-        }
-        if ( !isCorrectPlane ) {
-          GetNextCombination( anIndexPlane1, anIndexPlane2, 2*aSize );
-          aNbCombination++;
-          continue;
-        }
-        std::vector<int> anIndexCorrectPlane1;
-        std::vector<int> anIndexCorrectPlane2;
-        if ( aSize == 3 ) {
-          for (int i = 0; i < aSize ; i++) {
-            anIndexCorrectPlane1.push_back( anIndexPlane1[i] );
-            anIndexCorrectPlane2.push_back( anIndexPlane2[i] );
-          }
-        }
-        if ( aSize >= 4 ) {
-          std::list<TIdOfDistToPlaneAndDist> aListBaseOfPoint;
-          TIdOfDistToPlaneAndDist aCurDistOfPlane;
-          for (int i = 0; i < 2 * aSize - 3; i++ ) {
-            aCurDistOfPlane.second.first = aPlane.Distance( gp_Pnt( theVector[anIndexPlane2[i]]._xyz[0], theVector[anIndexPlane2[i]]._xyz[1], theVector[anIndexPlane2[i]]._xyz[2] ));
-            if ( aCurDistOfPlane.second.first == 0 )
-              aCurDistOfPlane.second.second = 0;
-            else {
-              double aCurDist = 0;
-              for (int j = 0; j < 3; j++) {
-                aCurDist += pow( theVector[anIndexPlane1[j]]._xyz[0] - theVector[anIndexPlane2[i]]._xyz[0], 2.0 ) +
-                    pow( theVector[anIndexPlane1[j]]._xyz[1] - theVector[anIndexPlane2[i]]._xyz[1], 2.0 ) +
-                    pow( theVector[anIndexPlane1[j]]._xyz[2] - theVector[anIndexPlane2[i]]._xyz[2], 2.0 );
-              }
-              aCurDistOfPlane.second.second = aCurDist;
-            }
-            aCurDistOfPlane.first = anIndexPlane2[i];
-            aListBaseOfPoint.push_back( aCurDistOfPlane );
-          }
-          aListBaseOfPoint.sort( CompareDistOfPlaneById );
-          std::list<TIdOfDistToPlaneAndDist>::iterator anIterDist = aListBaseOfPoint.begin();
-          for (int i = 0; i < 3; i++) {
-            anIndexCorrectPlane1.push_back( anIndexPlane1[i] );
-          }
-          for (int i = 0; i < aSize - 3; i++, anIterDist++) {
-            anIndexCorrectPlane1.push_back((*anIterDist).first);
-          }
-          for (int i = 0; i < 2 * aSize - 3 ; i++) {
-            anIterDist = aListBaseOfPoint.begin();
-            bool isFinded = false;
-            for (int j = 0; j < aSize - 3; j++, anIterDist++) {
-              if ( anIndexPlane2[i] == (*anIterDist).first ) {
-                isFinded = true;
-                break;
-              }
-            }
-            if ( !isFinded )
-              anIndexCorrectPlane2.push_back( anIndexPlane2[i] );
-          }
-        }
-        double aCurDist1, aCurDist2, aMinDist1, aMinDist2, aSumDist1, aSumDist2, aSumDistBase1, aSumDistBase2;
-        bool isCorrect2Base = true;
-        aSumDist1 = aSumDistBase1 = aSumDist2 = aSumDistBase2 = 0;
-        for( int i = 0 ; i < aSize ; i++ ) {
-          aMinDist1 = 0;
-          aMinDist2 = 0;
-          for(int j = 0 ; j < aSize ; j++ ) {
-            aCurDist1 = pow( theVector[anIndexCorrectPlane1[i]]._xyz[0] - theVector[anIndexCorrectPlane2[j]]._xyz[0], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[i]]._xyz[1] - theVector[anIndexCorrectPlane2[j]]._xyz[1], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[i]]._xyz[2] - theVector[anIndexCorrectPlane2[j]]._xyz[2], 2.0 );
-            aCurDist2 = pow( theVector[anIndexCorrectPlane1[j]]._xyz[0] - theVector[anIndexCorrectPlane2[i]]._xyz[0], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[j]]._xyz[1] - theVector[anIndexCorrectPlane2[i]]._xyz[1], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[j]]._xyz[2] - theVector[anIndexCorrectPlane2[i]]._xyz[2], 2.0 );
-            aSumDistBase1 += pow( theVector[anIndexCorrectPlane1[i]]._xyz[0] - theVector[anIndexCorrectPlane1[j]]._xyz[0], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[i]]._xyz[1] - theVector[anIndexCorrectPlane1[j]]._xyz[1], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane1[i]]._xyz[2] - theVector[anIndexCorrectPlane1[j]]._xyz[2], 2.0 );
-            aSumDistBase2 += pow( theVector[anIndexCorrectPlane2[i]]._xyz[0] - theVector[anIndexCorrectPlane2[j]]._xyz[0], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane2[i]]._xyz[1] - theVector[anIndexCorrectPlane2[j]]._xyz[1], 2.0 ) +
-                pow( theVector[anIndexCorrectPlane2[i]]._xyz[2] - theVector[anIndexCorrectPlane2[j]]._xyz[2], 2.0 );
-            if ( aCurDist1 < aMinDist1 || aMinDist1 == 0)
-              aMinDist1 = aCurDist1;
-            if ( aCurDist2 < aMinDist2 || aMinDist2 == 0)
-              aMinDist2 = aCurDist2;
-            aSumDist1 += aCurDist1;
-            aSumDist2 += aCurDist2;
-          }
-          aSumMinDist1 += aMinDist1;
-          aSumDist1 -= aMinDist1;
-          aSumMinDist2 += aMinDist2;
-          aSumDist2 -= aMinDist2;
-        }
-        isCorrect2Base = ( aSumDistBase1 + aSumDistBase2 <= aSumDist1 + aSumDist2 );
-        if ( isCorrect2Base && ( aSumMinDist1 == aSumMinDist2 || ( aSumMinDist1 + aSumMinDist2 )  > aMax || aMax == 0 ||
-            ( (aSumMinDist1 + aSumMinDist2 ) == aMax && ( (aSumDist1 + aSumDist2 - aSumDistBase1 - aSumDistBase2) < aSumMin || aSumMin == -1 ) ) ) ) {
-          aMax = aSumMinDist1 + aSumMinDist2;
-          aSumMin = aSumDist1 + aSumDist2 - aSumDistBase1 - aSumDistBase2;
-          thePlane1.clear();
-          thePlane2.clear();
-          for(int i = 0; i < aSize; i++) {
-            thePlane1.push_back(theVector[anIndexCorrectPlane1[i]]);
-            thePlane2.push_back(theVector[anIndexCorrectPlane2[i]]);
-          }
-        }
-        if ( aSumMinDist1 == aSumMinDist2 )
-          break;
-        if ( !GetNextCombination( anIndexPlane1, anIndexPlane2, 2 * aSize) )
-          break;
-        aNbCombination++;
-      }
-      if ( thePlane1.empty() && thePlane2.empty() ) {
-        aNbSwapFirstPoint++;
-        SMESH_TNodeXYZ aPoint;
-        aPoint = theVector[0];
-        theVector[0] = theVector[aNbSwapFirstPoint];
-        theVector[aNbSwapFirstPoint] = aPoint;
-      }
-    }
-    if ( thePlane1.empty() && thePlane2.empty() )
-      return false;
-    return true;
-  }
-
-  bool GetCorrectSequenceOfId( std::vector<SMESH_TNodeXYZ>& theVector )
-  {
-    std::list<gp_Pnt2d> aListProjection;
-    gp_Pnt2d aCurPoint;
-    int aSize = (int)theVector.size();
-    if ( aSize < 3 )
-      return false;
-    gp_Pln aPlane;
-    bool isCreatePlane = false;
-    for (int i = 0; i < aSize - 1; i++ ) {
-      isCreatePlane = CreatePlaneOnThreePoints( gp_Pnt( theVector[i]._xyz[0], theVector[i]._xyz[1], theVector[i]._xyz[2] ),
-                                                gp_Pnt( theVector[i+1]._xyz[0], theVector[i+1]._xyz[1], theVector[i+1]._xyz[2] ),
-                                                gp_Pnt( theVector[i+2]._xyz[0], theVector[i+2]._xyz[1], theVector[i+2]._xyz[2] ), aPlane );
-      if ( isCreatePlane)
-        break;
-    }
-    if ( !isCreatePlane )
-      return false;
-    for ( int i = 0; i < aSize; i++) {
-      aCurPoint = ProjLib::Project( aPlane, gp_Pnt( theVector[i]._xyz[0], theVector[i]._xyz[1], theVector[i]._xyz[2] ));
-      aListProjection.push_back( aCurPoint );
-    }
-    std::list<TNodeOfAngleAndDist> aListIdOfAngleAndDist;
-    TNodeOfAngleAndDist aCurIdOfAngleAndDist;
-    FindNbLowestPoint( aListProjection, aCurPoint);
-    std::list<gp_Pnt2d>::iterator anIter2d = aListProjection.begin();
-    gp_Vec2d aCurVec;
-    gp_Vec2d aAxisVec = gp_Vec2d( 1, 0 );
-    for( int i = 0 ; anIter2d != aListProjection.end(); anIter2d++, i++) {
-      aCurVec = gp_Vec2d( (*anIter2d).X() - aCurPoint.X(), (*anIter2d).Y() - aCurPoint.Y() );
-      aCurIdOfAngleAndDist.first = theVector[i];
-      if ( (*anIter2d).X() == aCurPoint.X() && (*anIter2d).Y() == aCurPoint.Y() )
-        aCurIdOfAngleAndDist.second.first = 0;
-      else {
-        double anAngle = aAxisVec.Angle( aCurVec );
-        double anRoundAngle = anAngle * 100000;
-        int anIntAngle = anRoundAngle + 0.5;
-        anRoundAngle = (double) anIntAngle / 100000;
-        aCurIdOfAngleAndDist.second.first = anRoundAngle;
-      }
-      aCurIdOfAngleAndDist.second.second = pow( (*anIter2d).X() - aCurPoint.X(), 2.0 ) +
-                                           pow( (*anIter2d).Y() - aCurPoint.Y(), 2.0 ) +
-                                           pow( aPlane.Distance( gp_Pnt( theVector[i]._xyz[0], theVector[i]._xyz[1], theVector[i]._xyz[2] )), 2.0 );
-      aListIdOfAngleAndDist.push_back( aCurIdOfAngleAndDist );
-    }
-    aListIdOfAngleAndDist.sort( CompareNodeOfAngleAndDist );
-    std::list<TNodeOfAngleAndDist>::iterator anIter = aListIdOfAngleAndDist.begin();
-    std::list<TNodeOfAngleAndDist> aListResult;
-    double anAngle = 0;
-    bool isSort = true;
-    for(int i = 0 ; anIter != aListIdOfAngleAndDist.end(); anIter++, i++) {
-      if ( anAngle == (*anIter).second.first && anAngle != 0 ) {
-        isSort = false;
-        break;
-      }
-      if ( ( anAngle > (*anIter).second.first && anAngle != 0 ) || i > 1)
-        break;
-      if ( (*anIter).second.first > 0 )
-        anAngle = (*anIter).second.first;
-    }
-    if ( !isSort ) {
-      anIter = aListIdOfAngleAndDist.begin();
-      for( ; anIter != aListIdOfAngleAndDist.end(); anIter++) {
-        if ( anAngle == (*anIter).second.first)
-          aListResult.push_back( *anIter );
-        else if ( anAngle < (*anIter).second.first)
-          break;
-      }
-    }
-    else
-      anAngle = 0;
-    aListResult.sort(CompareNodeOfDist);
-    anIter = aListIdOfAngleAndDist.begin();
-    theVector.clear();
-    for( ; anIter != aListIdOfAngleAndDist.end(); anIter++) {
-      if ( !isSort && anAngle == (*anIter).second.first ){
-        for( std::list<TNodeOfAngleAndDist>::iterator anIter2 = aListResult.begin() ; anIter2 != aListResult.end(); anIter2++) {
-          theVector.push_back((*anIter2).first);
-        }
-        isSort = true;
-      }
-      if ( isSort && anAngle != 0 && anAngle == (*anIter).second.first )
-        continue;
-      theVector.push_back((*anIter).first);
-    }
-
-    return true;
-}
-
-  void GetCorrectSequenceTwoPlaneOfId( std::vector<SMESH_TNodeXYZ>& thePlane1, std::vector<SMESH_TNodeXYZ>& thePlane2, std::list<int>& theResultListId )
-  {
-    int anIndex1, anIndex2, aShift = 0;
-    double aCurSum;
-    std::pair<int, double> aShiftOfDist;
-    int aSize = (int)thePlane1.size();
-    aShiftOfDist.first = aShiftOfDist.second = 0;
-    int anArr1[3];
-    int anArr2[aSize - 3];
-    for (int i = 0; i < 3 ; i++) {
-      anArr1[i] = i;
-    }
-    for (int i = 0; i < aSize - 3 ; i++) {
-      anArr2[i] = i + 3;
-    }
-    std::vector<int> anIndexPlane1( anArr1, anArr1 + 3 );
-    std::vector<int> anIndexPlane2( anArr2, anArr2 + aSize - 3);
-    std::vector<int> anIndexCorrectPlane;
-    std::vector<SMESH_TNodeXYZ> theNewPlane;
-    std::vector<SMESH_TNodeXYZ> theCorrectPlane;
-
-    GetCorrectSequenceOfId ( thePlane1 );
-
-    while( true ) {
-      anIndexCorrectPlane.clear();
-      std::vector<SMESH_TNodeXYZ> theNewPlane;
-      for (int i = 0; i < 3; i++) {
-        anIndexCorrectPlane.push_back( anIndexPlane1[i] );
-      }
-      for (int i = 0; i < aSize - 3; i++) {
-        anIndexCorrectPlane.push_back( anIndexPlane2[i] );
-      }
-      for (int i = 0; i < aSize; i++) {
-        theNewPlane.push_back( thePlane2[anIndexCorrectPlane[i]] );
-      }
-      aShift = 0;
-      if ( GetCorrectSequenceOfId ( theNewPlane ) )
-      {
-        std::vector<double> aVectorSum;
-        while ( aShift != 2 * aSize ) {
-          anIndex1 = 0;
-          aCurSum = 0;
-          ( aShift < aSize ) ? anIndex2 = 0 : anIndex2 = aSize - 1;
-          while ( ( aShift < aSize && anIndex2 < aSize ) || ( aShift >= aSize && anIndex2 >= 0 ) ) {
-            aCurSum += pow( thePlane1[anIndex1]._xyz[0] - theNewPlane[ ( anIndex2 + aShift ) % aSize ]._xyz[0], 2.0 ) +
-                       pow( thePlane1[anIndex1]._xyz[1] - theNewPlane[ ( anIndex2 + aShift ) % aSize ]._xyz[1], 2.0 ) +
-                       pow( thePlane1[anIndex1]._xyz[2] - theNewPlane[ ( anIndex2 + aShift ) % aSize ]._xyz[2], 2.0 );
-            ( aShift < aSize ) ? anIndex2++ : anIndex2--;
-            anIndex1++;
-          }
-          aVectorSum.push_back( aCurSum );
-          aShift++;
-        }
-        double aCurSumMin = 0;
-        std::pair<int, double> aCurShiftOfDist;
-        aCurShiftOfDist.first = aCurShiftOfDist.second = 0;
-        for ( int i = 0; i < (int)aVectorSum.size(); i++ ) {
-          if ( aVectorSum[i] < aCurShiftOfDist.second || aCurShiftOfDist.second == 0 ) {
-            aCurShiftOfDist.first = i;
-            aCurShiftOfDist.second = aVectorSum[i];
-          }
-        }
-        if ( aCurShiftOfDist.second <= aShiftOfDist.second || aShiftOfDist.second == 0){
-          aShiftOfDist = aCurShiftOfDist;
-          theCorrectPlane = theNewPlane;
-        }
-      }
-      if ( !GetNextCombination( anIndexPlane1, anIndexPlane2, aSize) )
-        break;
-    }
-    thePlane2 = theCorrectPlane;
-    aShift = aShiftOfDist.first;
-    anIndex1 = 0;
-    theResultListId.clear();
-    ( aShift < aSize ) ? anIndex2 = 0 : anIndex2 = aSize - 1;
-    while ( anIndex1 != aSize ) {
-      theResultListId.push_back(thePlane1[anIndex1]._node->GetID());
-      anIndex1++;
-    }
-    while ( ( aShift < aSize && anIndex2 < aSize ) || ( aShift >= aSize && anIndex2 >= 0 ) ) {
-      theResultListId.push_back( thePlane2[( anIndex2 + aShift ) % aSize]._node->GetID() );
-      ( aShift < aSize ) ? anIndex2++ : anIndex2--;
-    }
-  }
-
-  void GetSortedNodesOnPolygon( std::vector<SMESH_TNodeXYZ>& theVectorOfNode, std::list<int>& theResultListId )
-  {
-    GetCorrectSequenceOfId ( theVectorOfNode );
-    for (int i = 0; i < theVectorOfNode.size(); i++) {
-      theResultListId.push_back( theVectorOfNode[i]._node->GetID() );
-    }
-  }
-
-  void GetSortedNodesOnPrism( std::vector<SMESH_TNodeXYZ>& theVectorOfNode, std::list<int>& theResultListId )
-  {
-    int aSize = (int)theVectorOfNode.size();
-    if ( aSize < 6 && aSize % 2 == 0)
-      return;
-    std::vector<SMESH_TNodeXYZ> aPlane1, aPlane2;
-    if ( Get2BasePlane( theVectorOfNode, aPlane1, aPlane2 ) ) {
-      GetCorrectSequenceTwoPlaneOfId( aPlane1, aPlane2, theResultListId);
-    }
-  }
-
-  void GetSortedNodesOnPyramid( std::vector<SMESH_TNodeXYZ>& theVectorOfNode, std::list<int>& theResultListId )
-  {
-    int aSize = (int)theVectorOfNode.size();
-    if ( aSize < 5 )
-      return;
-    gp_Pln aPlane;
-    bool isCreatePlane, isCorrectPlane;
-    int aNumPlane = 0;
-    double aMax = 0;
-    while ( aNumPlane != aSize ) {
-      isCreatePlane = CreatePlaneOnThreePoints( gp_Pnt( theVectorOfNode[aNumPlane]._xyz[0], theVectorOfNode[aNumPlane]._xyz[1], theVectorOfNode[aNumPlane]._xyz[2] ),
-                                                gp_Pnt( theVectorOfNode[(aNumPlane + 1) % aSize]._xyz[0], theVectorOfNode[(aNumPlane + 1) % aSize]._xyz[1], theVectorOfNode[(aNumPlane + 1) % aSize]._xyz[2] ),
-                                                gp_Pnt( theVectorOfNode[(aNumPlane + 2) % aSize]._xyz[0], theVectorOfNode[(aNumPlane + 2) % aSize]._xyz[1], theVectorOfNode[(aNumPlane + 2) % aSize]._xyz[2] ), aPlane );
-      isCorrectPlane = false;
-      std::vector<SMESH_TNodeXYZ> aVectorOfPoint;
-      if ( isCreatePlane ) {
-        for(int j = 0; j < aSize - 3; j++) {
-          aVectorOfPoint.push_back(theVectorOfNode[(aNumPlane + j + 3) % aSize]);
-        }
-        isCorrectPlane = IsNotPlaneIntersection( aVectorOfPoint, aPlane );
-      }
-      if ( !isCorrectPlane ) {
-       aNumPlane++;
-       continue;
-      }
-      std::vector<SMESH_TNodeXYZ> aVectorBaseOfPoint;
-      std::list<TNodeOfDistToPlaneAndDist> aListBaseOfPoint;
-      TNodeOfDistToPlaneAndDist aCurDistOfPlane;
-      aListBaseOfPoint.clear();
-      for (int i = 0; i < aSize; i++ ) {
-        aCurDistOfPlane.second.first = aPlane.Distance( gp_Pnt( theVectorOfNode[i]._xyz[0], theVectorOfNode[i]._xyz[1], theVectorOfNode[i]._xyz[2] ));
-        if ( aCurDistOfPlane.second.first == 0 )
-          aCurDistOfPlane.second.second = 0;
-        else {
-          double aCurDist = 0;
-          for (int j = 0; j < 3; j++) {
-            aCurDist += pow( theVectorOfNode[(aNumPlane + j) % aSize]._xyz[0] - theVectorOfNode[i]._xyz[0], 2.0 ) +
-                        pow( theVectorOfNode[(aNumPlane + j) % aSize]._xyz[1] - theVectorOfNode[i]._xyz[1], 2.0 ) +
-                        pow( theVectorOfNode[(aNumPlane + j) % aSize]._xyz[2] - theVectorOfNode[i]._xyz[2], 2.0 );
-          }
-          aCurDistOfPlane.second.second = aCurDist;
-        }
-        aCurDistOfPlane.first = theVectorOfNode[i];
-        aListBaseOfPoint.push_back( aCurDistOfPlane );
-      }
-      aListBaseOfPoint.sort( CompareDistOfPlane );
-      std::list<TNodeOfDistToPlaneAndDist>::iterator anIterDist = aListBaseOfPoint.begin();
-      for (; anIterDist != aListBaseOfPoint.end(); anIterDist++ ) {
-        aVectorBaseOfPoint.push_back((*anIterDist).first);
-      }
-      SMESH_TNodeXYZ aTopNode = aVectorBaseOfPoint.back();
-      aVectorBaseOfPoint.resize( aVectorBaseOfPoint.size() - 1);
-      double aCur = 0;
-      double aSum = 0;
-      std::list<TNodeOfDist> aListBaseCorrect;
-      for (int i = 0; i < aSize - 1; i++) {
-        aCur =  pow( aVectorBaseOfPoint[i]._xyz[0] - aTopNode._xyz[0], 2.0 ) +
-                pow( aVectorBaseOfPoint[i]._xyz[1] - aTopNode._xyz[1], 2.0 ) +
-                pow( aVectorBaseOfPoint[i]._xyz[2] - aTopNode._xyz[2], 2.0 );
-        aListBaseCorrect.push_back(std::make_pair(aVectorBaseOfPoint[i], aCur) );
-      }
-      bool isCorrectTop = true;
-      for (int i = 0; i < aSize - 1; i++) {
-        isCreatePlane = CreatePlaneOnThreePoints( gp_Pnt( aVectorBaseOfPoint[i]._xyz[0], aVectorBaseOfPoint[i]._xyz[1], aVectorBaseOfPoint[i]._xyz[2] ),
-                                                  gp_Pnt( aVectorBaseOfPoint[(i+1) % (aSize - 1)]._xyz[0], aVectorBaseOfPoint[(i+1) % (aSize - 1)]._xyz[1], aVectorBaseOfPoint[(i+1) % (aSize - 1)]._xyz[2] ),
-                                                  gp_Pnt( aVectorBaseOfPoint[(i+2) % (aSize - 1)]._xyz[0], aVectorBaseOfPoint[(i+2) % (aSize - 1)]._xyz[1], aVectorBaseOfPoint[(i+2) % (aSize - 1)]._xyz[2] ), aPlane );
-        if ( isCreatePlane ) {
-          aCur = aPlane.Distance( gp_Pnt( aTopNode._xyz[0], aTopNode._xyz[1], aTopNode._xyz[2] ));
-          if ( aCur == 0 ) {
-            isCorrectTop = false;
-            continue;
-          }
-          aSum += aCur;
-        }
-      }
-      aNumPlane++;
-      if ( ( isCorrectTop || aSum == 0 ) && ( aMax == 0 || aSum > aMax ) ) {
-        aListBaseCorrect.sort(CompareDistForCorrectPlane);
-        aVectorBaseOfPoint.clear();
-        std::list<TNodeOfDist>::iterator anIter = aListBaseCorrect.begin();
-        for ( ; anIter != aListBaseCorrect.end(); anIter++) {
-          aVectorBaseOfPoint.push_back((*anIter).first);
-        }
-        GetCorrectSequenceOfId( aVectorBaseOfPoint );
-        aMax = aSum;
-        theResultListId.clear();
-        for (int i = 0; i < aVectorBaseOfPoint.size(); i++) {
-          theResultListId.push_back( aVectorBaseOfPoint[i]._node->GetID() );
-        }
-        theResultListId.push_back( aTopNode._node->GetID() );
-        if ( aSum == 0 )
-          break;
-      }
-    }
-  }
   bool ComputeBounds( std::list<vtkActor*> theActorList,
-      double theBounds[6])
+                      double theBounds[6])
   {
     bool anIsOk = false;
     theBounds[0] = theBounds[2] = theBounds[4] = VTK_DOUBLE_MAX;
index 7a6f4e6c529c02257315a85cce0f96eaa60ded56..4fe56eef73bff4122f0ef9fb21dc826713d74e89 100644 (file)
 
 // SMESH includes
 #include "SMESH_SMESHGUI.hxx"
-#include "SMESH_TypeDefs.hxx"
-#include "SMDS_MeshNode.hxx"
 
 #include "SMESHGUI_Utils.h"
-
 #include <SMESH_Object.h>
 
 // SALOME KERNEL includes
@@ -61,15 +58,7 @@ class SMESH_Actor;
 class SALOME_Actor;
 
 class vtkActor;
-class SMDS_Mesh;
-class SMDS_MeshNode;
-class gp_Pln;
-class gp_Lin;
-class gp_Dir;
-class gp_Pnt2d;
-class gp_Vec2d;
-class Handle(Geom_Line);
-class Handle(Geom_Plane);
+
 namespace SMESH
 {
   //----------------------------------------------------------------------------
@@ -172,12 +161,6 @@ SMESHGUI_EXPORT
 
   //----------------------------------------------------------------------------
 SMESHGUI_EXPORT  
-  int GetNameOfSelectedSortedNodes( SMDSAbs_EntityType,
-                                    SVTK_Selector*,
-                                    SMESH_Actor*,
-                                    int,
-                                    QString& );
-SMESHGUI_EXPORT
   int GetNameOfSelectedNodes( SVTK_Selector*,
                               const Handle(SALOME_InteractiveObject)&,
                               QString& );
@@ -231,44 +214,6 @@ SMESHGUI_EXPORT
                            double theDirection[3],
                            double thePos[3],
                            double& theDist );
-  typedef std::pair<SMESH_TNodeXYZ, double> TNodeOfDist;
-  typedef std::pair<SMESH_TNodeXYZ, std::pair<double, double> > TNodeOfAngleAndDist, TNodeOfDistToPlaneAndDist;
-  typedef std::pair<int, std::pair<double, double> > TIdOfDistToPlaneAndDist;
-  bool CreatePlaneOnThreePoints( const gp_Pnt& thePoint1,
-                                 const gp_Pnt& thePoint2,
-                                 const gp_Pnt& thePoint3,
-                                 gp_Pln& thePlane );
-
-  void FindNbLowestPoint( std::list<gp_Pnt2d> theList, gp_Pnt2d& theNode );
-  bool IsNotPlaneIntersection( std::vector<SMESH_TNodeXYZ>& theVector,
-                               const gp_Pln& thePlane );
-  bool GetCorrectSequenceOfId( std::vector<SMESH_TNodeXYZ>& theVector );
-  void GetCorrectSequenceTwoPlaneOfId( std::vector<SMESH_TNodeXYZ>& thePlane1,
-                                       std::vector<SMESH_TNodeXYZ>& thePlane2,
-                                       std::list<int>& theResultListId );
-  void GetSortedNodesOnPolygon( std::vector<SMESH_TNodeXYZ>& theVectorOfNode,
-                                std::list<int>& theResultListId );
-  void GetSortedNodesOnPyramid( std::vector<SMESH_TNodeXYZ>& theVectorOfNode,
-                                std::list<int>& theResultListId );
-  void GetSortedNodesOnPrism( std::vector<SMESH_TNodeXYZ>& theVectorOfNode,
-                              std::list<int>& theResultListId );
-  bool Get2BasePlane( std::vector<SMESH_TNodeXYZ>& theVector,
-                      std::vector<SMESH_TNodeXYZ>& thePlane1,
-                      std::vector<SMESH_TNodeXYZ>& thePlane2);
-  bool GetNextCombination ( std::vector<int> & theVector1,
-                            std::vector<int> & theVector2,
-                            int theNbPoint );
-  static bool CompareNodeOfAngleAndDist ( const TNodeOfAngleAndDist& first,
-                                          const TNodeOfAngleAndDist& second );
-  static bool CompareNodeOfDist ( const TNodeOfAngleAndDist& first,
-                                  const TNodeOfAngleAndDist& second );
-  static bool CompareDistOfPlane ( const TNodeOfDistToPlaneAndDist& first,
-                                   const TNodeOfDistToPlaneAndDist& second );
-  static bool CompareDistOfPlaneById ( const TIdOfDistToPlaneAndDist& first,
-                                       const TIdOfDistToPlaneAndDist& second );
-  static bool CompareDistForCorrectPlane ( const TNodeOfDist& first,
-                                           const TNodeOfDist& second );
-
  SMESHGUI_EXPORT
    void RemoveVisualObjectWithActors( const char* theEntry, bool fromAllViews = false );
 };
index 2b430cef3cb17358f1d664e95854fa99ba6b8287..9b9183530da1a056070cc4ad44172bab53de8b36 100644 (file)
@@ -1321,10 +1321,6 @@ Please enter correct values and try again</translation>
         <source>SMESH_AUTO_DIM</source>
         <translation>Automatically define space dimension</translation>
     </message>
-    <message>
-        <source>SMESH_AUTOMATIC_PRESENTATION</source>
-        <translation>Random input ID</translation>
-    </message>
     <message>
         <source>SMESH_REQUIRED_GROUPS</source>
         <translation>Create groups of required entities</translation>
@@ -1421,10 +1417,6 @@ Please enter correct values and try again</translation>
         <source>SMESH_BUT_APPLY_AND_CLOSE</source>
         <translation>A&amp;pply and Close</translation>
     </message>
-    <message>
-        <source>SMESH_BUT_GET_NEXT_SHAPE</source>
-        <translation>Get next shape</translation>
-    </message>
     <message>
         <source>SMESH_BUT_REMOVE</source>
         <translation>&amp;Remove</translation>
index 12e3f9f341096e5089c346d4a5079acbe22a4240..d4b783654c5b71732b475015a3f470b0cb128e63 100755 (executable)
@@ -1321,10 +1321,6 @@ Merci de les corriger, puis essayez de nouveau</translation>
         <source>SMESH_AUTO_DIM</source>
         <translation>Définition automatique des dimensions spatiales</translation>
     </message>
-    <message>
-        <source>SMESH_AUTOMATIC_PRESENTATION</source>
-        <translation type="unfinished">Random input ID</translation>
-    </message>
     <message>
         <source>SMESH_REQUIRED_GROUPS</source>
         <translation>Créer les groupes des types nécessaires</translation>
@@ -1421,10 +1417,6 @@ Merci de les corriger, puis essayez de nouveau</translation>
         <source>SMESH_BUT_APPLY_AND_CLOSE</source>
         <translation>App&amp;liquer et fermer</translation>
     </message>
-    <message>
-        <source>SMESH_BUT_GET_NEXT_SHAPE</source>
-        <translation type="unfinished">Get next shape</translation>
-    </message>
     <message>
         <source>SMESH_BUT_REMOVE</source>
         <translation>S&amp;upprimer</translation>
index a5aee6142eed1930abfb43348cfc1572848d672b..5d6e78d2025c33134a83f2e47c2fcfadc16d0e3f 100644 (file)
       <source>SMESH_AUTO_DIM</source>
       <translation>自動的に空間の寸法を定義します。</translation>
     </message>
-    <message>
-        <source>SMESH_AUTOMATIC_PRESENTATION</source>
-        <translation type="unfinished">Random input ID</translation>
-    </message>
     <message>
       <source>SMESH_REQUIRED_GROUPS</source>
       <translation>必要な種類のグループを作成します。</translation>
       <source>SMESH_BUT_APPLY_AND_CLOSE</source>
       <translation>適用して閉じる(&amp;p)</translation>
     </message>
-    <message>
-        <source>SMESH_BUT_GET_NEXT_SHAPE</source>
-        <translation type="unfinished">Get next shape</translation>
-    </message>
     <message>
       <source>SMESH_BUT_REMOVE</source>
       <translation>削除(&amp;R)</translation>
index 054bd7e7e11b96652aa6515650e35f4c8e61e308..1e9c735332a99c79bbfadde90cb2a50c2a3eeb7f 100644 (file)
@@ -183,23 +183,20 @@ class StdMeshersBuilder_Segment(Mesh_Algorithm):
     #  @param minSize defines the minimal allowed segment length
     #  @param maxSize defines the maximal allowed segment length
     #  @param deflection defines the maximal allowed distance from a segment to an edge
-    #  @param grading defines how much size of adjacent elements can differ
     #  @param UseExisting if ==true - searches for an existing hypothesis created with
     #                     the same parameters, else (default) - creates a new one
     #  @return an instance of StdMeshers_Adaptive1D hypothesis
     #  @ingroup l3_hypos_1dhyps
-    def Adaptive(self, minSize, maxSize, deflection, grading, UseExisting=False):
+    def Adaptive(self, minSize, maxSize, deflection, UseExisting=False):
         from salome.smesh.smeshBuilder import IsEqual
         compFun = lambda hyp, args: ( IsEqual(hyp.GetMinSize(), args[0]) and \
                                       IsEqual(hyp.GetMaxSize(), args[1]) and \
-                                      IsEqual(hyp.GetDeflection(), args[2]) and \
-                                      IsEqual(hyp.GetGrading(), args[3]))
-        hyp = self.Hypothesis("Adaptive1D", [minSize, maxSize, deflection, grading],
+                                      IsEqual(hyp.GetDeflection(), args[2]))
+        hyp = self.Hypothesis("Adaptive1D", [minSize, maxSize, deflection],
                               UseExisting=UseExisting, CompareMethod=compFun)
         hyp.SetMinSize(minSize)
         hyp.SetMaxSize(maxSize)
         hyp.SetDeflection(deflection)
-        hyp.SetGrading(grading)
         return hyp
 
     ## Defines "Arithmetic1D" hypothesis to cut an edge in several segments with a length
index 55d5d00b48efb02fd29c996e0ca3910b5bc96499..ecb30b1aa86f3821e5655b71fee58aa1abf382d9 100644 (file)
@@ -942,7 +942,6 @@ StdMeshers_Adaptive1D::StdMeshers_Adaptive1D(int         hypId,
   myMinSize       = 1e-10;
   myMaxSize       = 1e+10;
   myDeflection    = 1e-2;
-  myGrading       = 1e-2;
   myAlgo          = NULL;
   _name           = "Adaptive1D";
   _param_algo_dim = 1; // is used by SMESH_Regular_1D
@@ -969,20 +968,6 @@ void StdMeshers_Adaptive1D::SetDeflection(double value)
   }
 }
 //=======================================================================
-//function : SetGrading
-//purpose  :
-void StdMeshers_Adaptive1D::SetGrading(double value)
-  throw(SALOME_Exception)
-{
-  if (value <= std::numeric_limits<double>::min() )
-    throw SALOME_Exception("Grading must be greater that zero");
-  if (myGrading != value)
-  {
-    myGrading = value;
-    NotifySubMeshesHypothesisModification();
-  }
-}
-//=======================================================================
 //function : SetMinSize
 //purpose  : Sets minimal allowed segment length
 void StdMeshers_Adaptive1D::SetMinSize(double minSize)
@@ -1017,7 +1002,7 @@ void StdMeshers_Adaptive1D::SetMaxSize(double maxSize)
 //purpose  : Persistence
 ostream & StdMeshers_Adaptive1D::SaveTo(ostream & save)
 {
-  save << myMinSize << " " << myMaxSize << " " << myDeflection << " " << myGrading;
+  save << myMinSize << " " << myMaxSize << " " << myDeflection;
   save << " " << -1 << " " << -1; // preview addition of parameters
   return save;
 }
@@ -1027,7 +1012,7 @@ ostream & StdMeshers_Adaptive1D::SaveTo(ostream & save)
 istream & StdMeshers_Adaptive1D::LoadFrom(istream & load)
 {
   int dummyParam;
-  bool isOK = (load >> myMinSize >> myMaxSize >> myDeflection >> myGrading >> dummyParam >> dummyParam);
+  bool isOK = (load >> myMinSize >> myMaxSize >> myDeflection >> dummyParam >> dummyParam);
   if (!isOK)
     load.clear(ios::badbit | load.rdstate());
   return load;
@@ -1097,7 +1082,6 @@ bool StdMeshers_Adaptive1D::SetParametersByDefaults(const TDefaults&  dflts,
   myMinSize = dflts._elemLength / 10;
   myMaxSize = dflts._elemLength * 2;
   myDeflection = myMinSize / 7;
-  myGrading = 0.7;
   return true;
 }
 
@@ -1161,7 +1145,7 @@ bool AdaptiveAlgo::Compute(SMESH_Mesh &         theMesh,
 
   myMesh = &theMesh;
   SMESH_MesherHelper helper( theMesh );
-  const double grading = myHyp->GetGrading();
+  const double grading = 0.7;
 
   TopTools_IndexedMapOfShape edgeMap, faceMap;
   TopExp::MapShapes( theShape,                 TopAbs_EDGE, edgeMap );
index 200465026d651a1a0d9d26135507773a4bd558bf..a6211808737ba44051c5eef788470c62e75cfe0e 100644 (file)
@@ -59,13 +59,6 @@ class STDMESHERS_EXPORT StdMeshers_Adaptive1D : public SMESH_Hypothesis
   void SetDeflection(double value) throw(SALOME_Exception);
   double GetDeflection() const { return myDeflection; }
   
-  /*!
-   * Sets <grading> parameter value,
-   * i.e. how much size of adjacent elements can differ
-   */
-  void SetGrading(double value) throw(SALOME_Exception);
-  double GetGrading() const { return myGrading; }
-
   virtual std::ostream & SaveTo(std::ostream & save);
   virtual std::istream & LoadFrom(std::istream & load);
 
@@ -90,7 +83,7 @@ class STDMESHERS_EXPORT StdMeshers_Adaptive1D : public SMESH_Hypothesis
 
 protected:
 
-  double myMinSize, myMaxSize, myDeflection, myGrading;
+  double myMinSize, myMaxSize, myDeflection;
   SMESH_Algo* myAlgo; // StdMeshers_AdaptiveAlgo_1D implemented in cxx file
 };
 
index 904f0bbd73e2a63deeb85b9d5444a1dda4d51e9d..891b2c0c86170a4fdc62f383ba55a3eb9d44303d 100644 (file)
@@ -609,8 +609,6 @@ QString StdMeshersGUI_StdHypothesisCreator::storeParams() const
       h->SetMaxSize( params[1].myValue.toDouble() );
       h->SetVarParameter( params[0].text(), "SetDeflection" );
       h->SetDeflection( params[2].myValue.toDouble() );
-      h->SetVarParameter( params[0].text(), "SetGrading" );
-      h->SetGrading( params[3].myValue.toDouble() );
     }
     else if( hypType()=="AutomaticLength" )
     {
@@ -1050,11 +1048,6 @@ bool StdMeshersGUI_StdHypothesisCreator::stdParams( ListOfStdParams& p ) const
     if(!initVariableName( hyp, item, "SetDeflection" )) 
       item.myValue = h->GetDeflection();
     p.append( item );
-
-    item.myName = tr( "SMESH_GRADING1D_PARAM" );
-    if(!initVariableName( hyp, item, "SetGrading" ))
-      item.myValue = h->GetGrading();
-    p.append( item );
   }
   else if( hypType()=="AutomaticLength" )
   {
@@ -1428,10 +1421,7 @@ void StdMeshersGUI_StdHypothesisCreator::attuneStdWidget (QWidget* w, const int)
     }
     else if( hypType()=="Adaptive1D" )
     {
-      if (sb->objectName() == tr("SMESH_GRADING1D_PARAM"))
-        sb->RangeStepAndValidator( 0.0, 2.0, 0.1, "length_precision" );
-      else
-        sb->RangeStepAndValidator( VALUE_SMALL, VALUE_MAX, 1.0, "length_precision" );
+      sb->RangeStepAndValidator( VALUE_SMALL, VALUE_MAX, 1.0, "length_precision" );
     }
     else if( hypType().startsWith( "ViscousLayers" ))
     {
index abf15afdb1dc8730ad1460d3d9f156c115149e43..08dcd56718567ff24e3e5fafeca25a544978d25e 100644 (file)
         <source>SMESH_INVALID_FUNCTION</source>
         <translation>Function is invalid</translation>
     </message>
-    <message>
-        <source>SMESH_GRADING1D_PARAM</source>
-        <translation>Grading</translation>
-    </message>
     <message>
         <source>SMESH_LAYERS_DISTRIBUTION</source>
         <translation>1D Hypothesis</translation>
index 2a434ca5be90f51303fd2fd798e9eb0774325589..ef19f469fe10b7de6d2778d0e37de149acceb31e 100755 (executable)
         <source>SMESH_INVALID_FUNCTION</source>
         <translation>La fonction n&apos;est pas valide</translation>
     </message>
-    <message>
-        <source>SMESH_GRADING1D_PARAM</source>
-        <translation type="unfinished">Grading</translation>
-    </message>
     <message>
         <source>SMESH_LAYERS_DISTRIBUTION</source>
         <translation>Hypothèse 1D </translation>
index 5e5d155cbbabc5fe76c078a4ee4328d9af1eeae3..8a90c5e1f61268b7b0f6cedac65e72de2716db34 100644 (file)
       <source>SMESH_INVALID_FUNCTION</source>
       <translation>関数が無効です。</translation>
     </message>
-    <message>
-        <source>SMESH_GRADING1D_PARAM</source>
-        <translation type="unfinished">Grading</translation>
-    </message>
     <message>
       <source>SMESH_LAYERS_DISTRIBUTION</source>
       <translation>仮説 1 d</translation>
index bcf6cc5ac5a7c8c6b160c5bad976631a245f3ae5..c6d82b9c11e41d0fe96fc171f40bc2de96dc1637 100644 (file)
@@ -152,37 +152,6 @@ CORBA::Double StdMeshers_Adaptive1D_i::GetDeflection()
   return this->GetImpl()->GetDeflection();
 }
 
-//=======================================================================
-//function : SetGrading
-//purpose  : Sets how much size of adjacent elements can differ.
-//=======================================================================
-
-void StdMeshers_Adaptive1D_i::SetGrading( CORBA::Double theValue )
-  throw ( SALOME::SALOME_Exception )
-{
-  ASSERT( myBaseImpl );
-  try {
-    this->GetImpl()->SetGrading( theValue );
-  }
-  catch ( SALOME_Exception& S_ex ) {
-    THROW_SALOME_CORBA_EXCEPTION( S_ex.what(), SALOME::BAD_PARAM );
-  }
-
-  // Update Python script
-  SMESH::TPythonDump() << _this() << ".SetGrading( " << SMESH::TVar(theValue) << " )";
-}
-
-//=======================================================================
-//function : GetGrading
-//purpose  : Returns grading
-//=======================================================================
-
-CORBA::Double StdMeshers_Adaptive1D_i::GetGrading()
-{
-  ASSERT( myBaseImpl );
-  return this->GetImpl()->GetGrading();
-}
-
 //=======================================================================
 //function : GetImpl
 //purpose  : Get implementation
index fada85ba65f1b36381d43ffa3f8c70137778875b..7dd59e708a64d918715fccc168730fe179b0be3b 100644 (file)
@@ -70,12 +70,6 @@ class STDMESHERS_I_EXPORT StdMeshers_Adaptive1D_i:
   void SetDeflection( CORBA::Double theLength ) throw (SALOME::SALOME_Exception);
   CORBA::Double GetDeflection();
 
-  /*!
-   * Sets <grading> parameter value,
-  // * i.e. a maximal allowed distance between a segment and an edge.
-   */
-  void SetGrading( CORBA::Double theLength ) throw (SALOME::SALOME_Exception);
-  CORBA::Double GetGrading();
 
   /*!
    * Returns implementation