Salome HOME
OCC functionality moving out from the widget
authornds <nds@opencascade.com>
Tue, 3 Dec 2013 11:17:56 +0000 (11:17 +0000)
committernds <nds@opencascade.com>
Tue, 3 Dec 2013 11:17:56 +0000 (11:17 +0000)
src/HYDROCurveCreator/CMakeLists.txt
src/HYDROCurveCreator/CurveCreator_Utils.h
src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx [new file with mode: 0644]
src/HYDROCurveCreator/CurveCreator_UtilsICurve.hxx [new file with mode: 0644]
src/HYDROCurveCreator/CurveCreator_Widget.cxx
src/HYDROCurveCreator/CurveCreator_Widget.h

index 29ef282ff515644ebbdd2d905b1b99bc7c2dce53..1914ee4c8bdba39cd9ab8e05172080ee128fccfa 100644 (file)
@@ -78,6 +78,7 @@ SET(_other_HEADERS
   CurveCreator_Operation.hxx
   CurveCreator_Section.hxx
   CurveCreator_Utils.h
+  CurveCreator_UtilsICurve.hxx
   CurveCreator_PosPoint.hxx
   CurveCreator_Profile.hxx
 )
@@ -100,6 +101,7 @@ SET(_other_SOURCES
   CurveCreator_Diff.cxx
   CurveCreator_Operation.cxx
   CurveCreator_Utils.cxx
+  CurveCreator_UtilsICurve.cxx
   CurveCreator_Profile.cxx
 )
 IF(SALOME_BUILD_GUI)
index 5415214d888de43c4c6af2d82c8e1b600fe249a8..28b6bb50c73756f0f0ff04b4f852d547b2ba6892 100644 (file)
@@ -87,6 +87,8 @@ public:
                                         const int theX, const int theY,
                                         gp_Pnt& thePoint, gp_Pnt& thePoint1,
                                         gp_Pnt& thePoint2 );
+
+protected:
   /**
    * Checks whether the point belongs to the OCC object
    * \param theObject a line or shape with a bspline inside
diff --git a/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx b/src/HYDROCurveCreator/CurveCreator_UtilsICurve.cxx
new file mode 100644 (file)
index 0000000..29aa672
--- /dev/null
@@ -0,0 +1,101 @@
+// Copyright (C) 2013  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#include "CurveCreator_UtilsICurve.hxx"
+
+#include "CurveCreator.hxx"
+
+const double LOCAL_SELECTION_TOLERANCE = 0.0001;
+
+int CurveCreator_UtilsICurve::findLocalPointIndex( CurveCreator_ICurve* theCurve,
+                                             int theSectionId, float theX, float theY )
+{
+  int aPntIndex = -1;
+  if ( !theCurve )
+    return aPntIndex;
+
+  CurveCreator::Coordinates aCoords;
+  for ( int i = 0, aNb = theCurve->getNbPoints( theSectionId ); i < aNb && aPntIndex < 0; i++ ) {
+    aCoords = theCurve->getPoint( theSectionId, i );
+    if ( aCoords.size() < 2 )
+      continue;
+    if ( fabs( aCoords[0] - theX ) < LOCAL_SELECTION_TOLERANCE &&
+         fabs( aCoords[1] - theY ) < LOCAL_SELECTION_TOLERANCE )
+      aPntIndex = i;
+  }
+
+  return aPntIndex;
+}
+
+void CurveCreator_UtilsICurve::findSectionsToPoints( CurveCreator_ICurve* theCurve,
+                                 const double theX, const double theY,
+                                 CurveCreator_ICurve::SectionToPointList& thePoints )
+{
+  thePoints.clear();
+
+  int aPointId = -1;
+  for ( int i = 0, aNb = theCurve->getNbSections(); i < aNb; i++ ) {
+    aPointId = CurveCreator_UtilsICurve::findLocalPointIndex( theCurve, i, theX, theY );
+    if ( aPointId < 0 )
+      continue;
+    CurveCreator_ICurve::SectionToPoint aPoint = std::make_pair( i, aPointId );
+    if ( !CurveCreator_UtilsICurve::contains( thePoints, aPoint ) )
+      thePoints.push_back( aPoint );
+  }
+}
+
+void CurveCreator_UtilsICurve::convert( const CurveCreator_ICurve::SectionToPointList& thePoints,
+                                  QMap<int, QList<int> >& theConvPoints )
+{
+  theConvPoints.clear();
+
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = thePoints.begin(),
+                                                          aLast = thePoints.end();
+  QList<int> aPoints;
+  int aSectionId, aPointId;
+  for ( ; anIt != aLast; anIt++ ) {
+    aSectionId = anIt->first;
+    aPointId = anIt->second;
+    aPoints.clear();
+    if ( theConvPoints.contains( aSectionId ) )
+      aPoints = theConvPoints[aSectionId];
+    if ( aPoints.contains( aPointId ) )
+      continue;
+    aPoints.append( aPointId );
+    theConvPoints[aSectionId] = aPoints;
+  }
+}
+
+/**
+ * Returns whethe the container has the value
+ * \param theList a container of values
+ * \param theValue a value
+ */
+bool CurveCreator_UtilsICurve::contains( const CurveCreator_ICurve::SectionToPointList& theList,
+                                         const CurveCreator_ICurve::SectionToPoint& theValue )
+{
+  bool isFound = false;
+
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = theList.begin(),
+                                                          aLast = theList.end();
+  for ( ; anIt != aLast && !isFound; anIt++ )
+    isFound = anIt->first == theValue.first && anIt->second == theValue.second;
+
+  return isFound;
+}
diff --git a/src/HYDROCurveCreator/CurveCreator_UtilsICurve.hxx b/src/HYDROCurveCreator/CurveCreator_UtilsICurve.hxx
new file mode 100644 (file)
index 0000000..b5adcc2
--- /dev/null
@@ -0,0 +1,57 @@
+// Copyright (C) 2013  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#ifndef CURVECREATOR_UTILS_ICURVE_H
+#define CURVECREATOR_UTILS_ICURVE_H
+
+#include "CurveCreator_Macro.hxx"
+
+#include "CurveCreator_ICurve.hxx"
+
+#include <QMap>
+#include <QList>
+
+class CurveCreator_UtilsICurve
+{
+public:
+
+  /*!
+   * Returns a point index in the model curve by the point coordinates in the viewer
+   * \param theX the X coordinate of the point
+   * \param theY the Y coordinate of the point
+   */
+  CURVECREATOR_EXPORT static int  findLocalPointIndex( CurveCreator_ICurve* theCurve,
+                                          int theSectionId, float theX, float theY );
+
+  CURVECREATOR_EXPORT static void findSectionsToPoints( CurveCreator_ICurve* theCurve,
+                                          const double theX, const double theY,
+                                          CurveCreator_ICurve::SectionToPointList& thePoints );
+  CURVECREATOR_EXPORT static void convert( const CurveCreator_ICurve::SectionToPointList& thePoints,
+                                           QMap<int, QList<int> >& theConvPoints );
+
+  /**
+   * Returns whethe the container has the value
+   * \param theList a container of values
+   * \param theValue a value
+   */
+  CURVECREATOR_EXPORT static bool contains( const CurveCreator_ICurve::SectionToPointList& theList,
+                                            const CurveCreator_ICurve::SectionToPoint& theValue );
+};
+
+#endif // CURVECREATOR_UTILS_ICURVE_H
index 3d65fc5863ec74facd66aba15df8558d9b12ec40..a1133ba48380eaa750ec14c9d621310a324e0d09 100644 (file)
@@ -25,6 +25,7 @@
 //#include "CurveCreator_NewPointDlg.h"
 #include "CurveCreator_NewSectionDlg.h"
 #include "CurveCreator_Utils.h"
+#include "CurveCreator_UtilsICurve.hxx"
 #include "CurveCreator_TableView.h"
 
 #include <SUIT_Session.h>
@@ -799,7 +800,7 @@ void CurveCreator_Widget::onUndo()
     if( !myCurve )
       return;
 
-    CurveCreator_Widget::SectionToPointList aPoints;
+    CurveCreator_ICurve::SectionToPointList aPoints;
     startCurveModification( aPoints, false );
     myCurve->undo();
     finishCurveModification();
@@ -810,7 +811,7 @@ void CurveCreator_Widget::onRedo()
 {
     if( !myCurve )
       return;
-    CurveCreator_Widget::SectionToPointList aPoints;
+    CurveCreator_ICurve::SectionToPointList aPoints;
     startCurveModification( aPoints, false );
     myCurve->redo();
     finishCurveModification();
@@ -998,7 +999,7 @@ void CurveCreator_Widget::onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEven
 
   if ( myDragStarted ) {
     bool isDragged = myDragged;
-    CurveCreator_Widget::SectionToPointList aDraggedPoints;
+    CurveCreator_ICurve::SectionToPointList aDraggedPoints;
     if ( myDragged )
       aDraggedPoints = myDragPoints;
 
@@ -1064,7 +1065,7 @@ void CurveCreator_Widget::onCellChanged( int theRow, int theColumn )
   if ( aPntIndex < 0 )
     return;
 
-  SectionToPointList aSelPoints;
+  CurveCreator_ICurve::SectionToPointList aSelPoints;
   startCurveModification( aSelPoints );
 
   double aX  = myLocalPointView->item( theRow, 2 )->data( Qt::UserRole ).toDouble();
@@ -1112,16 +1113,16 @@ void CurveCreator_Widget::removeSection()
  */
 void CurveCreator_Widget::removePoint()
 {
-  SectionToPointList aPoints;
+  CurveCreator_ICurve::SectionToPointList aPoints;
   getSelectedPonts( aPoints );
   if ( aPoints.size() == 0 )
     return;
 
-  SectionToPointList aSelPoints;
+  CurveCreator_ICurve::SectionToPointList aSelPoints;
   startCurveModification( aSelPoints, false );
 
   myCurve->removeSeveralPoints( aPoints );
-  finishCurveModification( SectionToPointList() );
+  finishCurveModification( CurveCreator_ICurve::SectionToPointList() );
 }
 
 void CurveCreator_Widget::insertPointToSelectedSegment( const int theX,
@@ -1144,23 +1145,25 @@ void CurveCreator_Widget::insertPointToSelectedSegment( const int theX,
     return;
 
   // insert the point to the model curve
-  SectionToPointList aSelPoints;
+  CurveCreator_ICurve::SectionToPointList aSelPoints;
   startCurveModification( aSelPoints );
 
   CurveCreator::Coordinates aCoords;
   aCoords.push_back( aPoint.X() );
   aCoords.push_back( aPoint.Y() );
 
-  SectionToPointList aPoints1, aPoints2;
+  CurveCreator_ICurve::SectionToPointList aPoints1, aPoints2;
   findSectionsToPoints( aPoint1.X(), aPoint1.Y(), aPoints1 );
   findSectionsToPoints( aPoint2.X(), aPoint2.Y(), aPoints2 );
-  SectionToPointList::const_iterator anIt = aPoints1.begin(), aLast = aPoints1.end();
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = aPoints1.begin(),
+                                                          aLast = aPoints1.end();
   int aSectionId = -1;
   // there can be a case when a new point is added into two sections
   int aPoint1Id = -1, aPoint2Id = -1;
   for ( ; anIt != aLast && aSectionId < 0; anIt++ ) {
     int aSectionCur = anIt->first;
-    SectionToPointList::const_iterator anIt2 = aPoints2.begin(), aLast2 = aPoints2.end();
+    CurveCreator_ICurve::SectionToPointList::const_iterator anIt2 = aPoints2.begin(),
+                                                            aLast2 = aPoints2.end();
     for ( ; anIt2 != aLast2 && aSectionId < 0; anIt2++ ) {
       if ( anIt2->first == aSectionCur ) {
         aSectionId = aSectionCur;
@@ -1193,7 +1196,7 @@ void CurveCreator_Widget::moveSelectedPoints( const int theXPosition,
   if ( !aViewPort )
     return;
 
-  SectionToPointList aPoints;
+  CurveCreator_ICurve::SectionToPointList aPoints;
   startCurveModification( aPoints, false );
 
   gp_Pnt aStartPnt = CurveCreator_Utils::ConvertClickToPoint( myDragStartPosition.x(),
@@ -1206,7 +1209,8 @@ void CurveCreator_Widget::moveSelectedPoints( const int theXPosition,
 
   CurveCreator_ICurve::SectionToPointCoordsList aCoordList;
   std::deque<float> aChangedPos;
-  SectionToPointList::const_iterator anIt = myDragPoints.begin(), aLast = myDragPoints.end();
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = myDragPoints.begin(),
+                                                          aLast = myDragPoints.end();
   for ( ; anIt != aLast; anIt++ ) {
     int aSectionId = anIt->first;
     int aPointId = anIt->second;
@@ -1264,15 +1268,15 @@ void CurveCreator_Widget::setLocalPointContext( const bool theOpen, const bool i
 
 void CurveCreator_Widget::addLocalPointToTable( const double theX, const double theY )
 {
-  SectionToPointList aPoints;
+  CurveCreator_ICurve::SectionToPointList aPoints;
   findSectionsToPoints( theX, theY, aPoints );
 
-  SectionToPointList aSkipList;
+  CurveCreator_ICurve::SectionToPointList aSkipList;
   // table could not contain two equal value rows
   int aRowId = myLocalPointView->rowCount();
   double aCurrentX, aCurrentY;
   int aSectionId, aPointId;
-  SectionToPoint aPoint;
+  CurveCreator_ICurve::SectionToPoint aPoint;
   for ( int i = 0; i < aRowId; i++ ) {
     aCurrentX = myLocalPointView->item( i, 2 )->data( Qt::UserRole ).toDouble();
     aCurrentY = myLocalPointView->item( i, 3 )->data( Qt::UserRole ).toDouble();
@@ -1287,7 +1291,8 @@ void CurveCreator_Widget::addLocalPointToTable( const double theX, const double
     return;
 
   QTableWidgetItem* anItem;
-  SectionToPointList::const_iterator anIt = aPoints.begin(), aLast = aPoints.end();
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = aPoints.begin(),
+                                                          aLast = aPoints.end();
   for ( ; anIt != aLast; anIt++ ) {
     aPoint = *anIt;
     if ( contains( aSkipList, aPoint ) )
@@ -1342,14 +1347,14 @@ void CurveCreator_Widget::setDragStarted( const bool theState, const QPoint& the
   myDragged = false;
 }
 
-void CurveCreator_Widget::getSelectedPonts( CurveCreator_Widget::SectionToPointList& thePoints )
+void CurveCreator_Widget::getSelectedPonts( CurveCreator_ICurve::SectionToPointList& thePoints )
 {
   thePoints.clear();
   for ( int i = 0, aNb = myLocalPointView->rowCount(); i < aNb; i++ )
     thePoints.push_back( std::make_pair( getSectionId( i ), getPointId( i ) ) );
 }
 
-void CurveCreator_Widget::setSelectedPonts( const CurveCreator_Widget::SectionToPointList& thePoints )
+void CurveCreator_Widget::setSelectedPonts( const CurveCreator_ICurve::SectionToPointList& thePoints )
 {
   if ( myDragStarted )
     return;
@@ -1358,11 +1363,13 @@ void CurveCreator_Widget::setSelectedPonts( const CurveCreator_Widget::SectionTo
     return;
 
   AIS_ListOfInteractive aListToSelect;
+
   AIS_ListOfInteractive aDisplayedList;
   ic->DisplayedObjects( aDisplayedList );
 
-  SectionToPointList::const_iterator anIt = thePoints.begin(), aLast = thePoints.end();
-  SectionToPoint aSToPoint;
+  CurveCreator_ICurve::SectionToPointList::const_iterator anIt = thePoints.begin(),
+                                                          aLast = thePoints.end();
+  CurveCreator_ICurve::SectionToPoint aSToPoint;
   for( ; anIt != aLast; anIt++ ) {
     aSToPoint = *anIt;
 
@@ -1382,11 +1389,12 @@ void CurveCreator_Widget::setSelectedPonts( const CurveCreator_Widget::SectionTo
 
       gp_Pnt aPnt = BRep_Tool::Pnt( aVertex );
 
-      SectionToPointList aPoints;
+      CurveCreator_ICurve::SectionToPointList aPoints;
       findSectionsToPoints( aPnt.X(), aPnt.Y(), aPoints );
 
-      SectionToPointList::const_iterator anIt = aPoints.begin(), aLast = aPoints.end();
-      SectionToPoint aPoint;
+      CurveCreator_ICurve::SectionToPointList::const_iterator anIt = aPoints.begin(),
+                                                              aLast = aPoints.end();
+      CurveCreator_ICurve::SectionToPoint aPoint;
       for ( ; anIt != aLast; anIt++ ) {
         aPoint = *anIt;
         if ( aPoint.first == aSToPoint.first && aPoint.second == aSToPoint.second )
@@ -1410,7 +1418,7 @@ void CurveCreator_Widget::setSelectedPonts( const CurveCreator_Widget::SectionTo
  * \param theFillPoints a flag whether the selection list should be filled
  */
 void CurveCreator_Widget::startCurveModification(
-                           CurveCreator_Widget::SectionToPointList& thePoints,
+                           CurveCreator_ICurve::SectionToPointList& thePoints,
                            const bool theFillPoints )
 {
   if ( theFillPoints ) {
@@ -1426,7 +1434,7 @@ void CurveCreator_Widget::startCurveModification(
  * \param thePoints a list of curve selected points
  */
 void CurveCreator_Widget::finishCurveModification(
-                           const CurveCreator_Widget::SectionToPointList& thePoints )
+                           const CurveCreator_ICurve::SectionToPointList& thePoints )
 {
   if ( getActionMode() == ModificationMode )
     setLocalPointContext( true );
@@ -1441,56 +1449,19 @@ void CurveCreator_Widget::finishCurveModification(
  */
 int CurveCreator_Widget::findLocalPointIndex( int theSectionId, float theX, float theY )
 {
-  int aPntIndex = -1;
-
-  CurveCreator::Coordinates aCoords;
-  for ( int i = 0, aNb = myCurve->getNbPoints( theSectionId ); i < aNb && aPntIndex < 0; i++ ) {
-    aCoords = myCurve->getPoint( theSectionId, i );
-    if ( aCoords.size() < 2 )
-      continue;
-    if ( fabs( aCoords[0] - theX ) < LOCAL_SELECTION_TOLERANCE &&
-         fabs( aCoords[1] - theY ) < LOCAL_SELECTION_TOLERANCE )
-      aPntIndex = i;
-  }
-
-  return aPntIndex;
+  return CurveCreator_UtilsICurve::findLocalPointIndex( myCurve, theSectionId, theX, theY );
 }
 
 void CurveCreator_Widget::findSectionsToPoints( const double theX, const double theY,
-                                 CurveCreator_Widget::SectionToPointList& thePoints )
+                                 CurveCreator_ICurve::SectionToPointList& thePoints )
 {
-  thePoints.clear();
-
-  int aPointId = -1;
-  for ( int i = 0, aNb = myCurve->getNbSections(); i < aNb; i++ ) {
-    aPointId = findLocalPointIndex( i, theX, theY );
-    if ( aPointId < 0 )
-      continue;
-    SectionToPoint aPoint = std::make_pair( i, aPointId );
-    if ( !contains( thePoints, aPoint ) )
-      thePoints.push_back( aPoint );
-  }
+  return CurveCreator_UtilsICurve::findSectionsToPoints( myCurve, theX, theY, thePoints );
 }
 
-void CurveCreator_Widget::convert( const SectionToPointList& thePoints,
+void CurveCreator_Widget::convert( const CurveCreator_ICurve::SectionToPointList& thePoints,
                                    QMap<int, QList<int> >& theConvPoints )
 {
-  theConvPoints.clear();
-
-  SectionToPointList::const_iterator anIt = thePoints.begin(), aLast = thePoints.end();
-  QList<int> aPoints;
-  int aSectionId, aPointId;
-  for ( ; anIt != aLast; anIt++ ) {
-    aSectionId = anIt->first;
-    aPointId = anIt->second;
-    aPoints.clear();
-    if ( theConvPoints.contains( aSectionId ) )
-      aPoints = theConvPoints[aSectionId];
-    if ( aPoints.contains( aPointId ) )
-      continue;
-    aPoints.append( aPointId );
-    theConvPoints[aSectionId] = aPoints;
-  }
+  return CurveCreator_UtilsICurve::convert( thePoints, theConvPoints );
 }
 
 /**
@@ -1516,14 +1487,8 @@ int CurveCreator_Widget::getPointId( const int theRowId ) const
  * \param theList a container of values
  * \param theValue a value
  */
-bool CurveCreator_Widget::contains( const CurveCreator_Widget::SectionToPointList& theList,
-                                    const CurveCreator_Widget::SectionToPoint& theValue ) const
+bool CurveCreator_Widget::contains( const CurveCreator_ICurve::SectionToPointList& theList,
+                                    const CurveCreator_ICurve::SectionToPoint& theValue ) const
 {
-  bool isFound = false;
-
-  SectionToPointList::const_iterator anIt = theList.begin(), aLast = theList.end();
-  for ( ; anIt != aLast && !isFound; anIt++ )
-    isFound = anIt->first == theValue.first && anIt->second == theValue.second;
-
-  return isFound;
+  return CurveCreator_UtilsICurve::contains( theList, theValue );
 }
index 0afa8ea2d1b5f920ab1af88049fc796f641925f9..43fdb492fbc398e53fbd5ac11f2e3f506006e0ea 100644 (file)
@@ -20,9 +20,9 @@
 #ifndef CURVECREATOR_WIDGET_H
 #define CURVECREATOR_WIDGET_H
 
-//#include "CurveCreator_ICurve.hxx"
-#include "CurveCreator.hxx"
 #include "CurveCreator_Macro.hxx"
+#include "CurveCreator.hxx"
+#include "CurveCreator_ICurve.hxx"
 
 #include <QWidget>
 #include <QMap>
@@ -43,7 +43,6 @@ class AIS_ListOfInteractive;
 class QAction;
 class QPixmap;
 class QTableWidget;
-class CurveCreator_ICurve;
 class CurveCreator_TreeView;
 class CurveCreator_NewPointDlg;
 class CurveCreator_NewSectionDlg;
@@ -147,9 +146,6 @@ protected:
     DetectionMode
   };
 
-  typedef std::pair< int, int > SectionToPoint;
-  typedef std::deque< SectionToPoint > SectionToPointList;
-
 private:
   OCCViewer_Viewer* getOCCViewer();
 
@@ -171,25 +167,28 @@ private:
 
   void setDragStarted( const bool theState, const QPoint& thePoint = QPoint() );
 
-  void getSelectedPonts( SectionToPointList& thePoints );
-  void setSelectedPonts( const SectionToPointList& = SectionToPointList() );
+  void getSelectedPonts( CurveCreator_ICurve::SectionToPointList& thePoints );
+  void setSelectedPonts( const CurveCreator_ICurve::SectionToPointList& =
+                               CurveCreator_ICurve::SectionToPointList() );
 
-  void startCurveModification( SectionToPointList& thePoints,
+  void startCurveModification( CurveCreator_ICurve::SectionToPointList& thePoints,
                                const bool theFillPoints = true );
-  void finishCurveModification( const SectionToPointList& thePoints = SectionToPointList() );
+  void finishCurveModification( const CurveCreator_ICurve::SectionToPointList& thePoints = 
+                                      CurveCreator_ICurve::SectionToPointList() );
 
   // curve algorithm
   int  findLocalPointIndex( int theSectionId, float theX, float theY );
   void findSectionsToPoints( const double theX, const double theY,
-                             SectionToPointList& thePoints );
-  void convert( const SectionToPointList& thePoints,
+                             CurveCreator_ICurve::SectionToPointList& thePoints );
+  void convert( const CurveCreator_ICurve::SectionToPointList& thePoints,
                 QMap<int, QList<int> >& theConvPoints );
 
   // local point view table methods
   int getSectionId( const int theRowId ) const;
   int getPointId( const int theRowId ) const;
 
-  bool contains( const SectionToPointList& theList, const SectionToPoint& theValue ) const;
+  bool contains( const CurveCreator_ICurve::SectionToPointList& theList,
+                 const CurveCreator_ICurve::SectionToPoint& theValue ) const;
 
 private:
   QMap<ActionId, QAction*>    myActionMap;
@@ -203,7 +202,7 @@ private:
   bool                        myDragStarted;
   QPoint                      myDragStartPosition;
   int                         myDragInteractionStyle;
-  SectionToPointList          myDragPoints;
+  CurveCreator_ICurve::SectionToPointList myDragPoints;
   bool                        myDragged;
   QByteArray                  myGuiState;
 };