Salome HOME
bug #155: create profile of splines
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_ICurve.hxx
index fd5e63d5b5e5518d999bc69487208ce82ebbba55..ed6b3c2e42270bdfafb57b330dd4e85b17dace9c 100644 (file)
@@ -59,6 +59,11 @@ class CURVECREATOR_EXPORT CurveCreator_ICurve
 public:
   typedef std::vector<Handle_AIS_InteractiveObject> ListAISObjects;
 
+  typedef std::pair<int,int> SectionToPoint;
+  typedef std::deque<SectionToPoint> SectionToPointList;
+
+  typedef std::deque< std::pair< SectionToPoint,std::deque< float > > > SectionToPointCoordsList;
+
 public:
   /***********************************************/
   /***          Undo/Redo methods              ***/
@@ -146,9 +151,14 @@ public:
   virtual bool setPoint( const int theISection,
                          const int theIPnt,
                          const std::deque<float>& theNewCoords ) = 0;
+  
+  //! Set coordinates of specified points from different sections
+  virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords) = 0;
 
   //! Remove point with given id
   virtual bool removePoint( const int theISection, const int theIPnt = -1 ) = 0;
+  //! Remove several points from different sections
+  virtual bool removeSeveralPoints( const SectionToPointList &theSectionToPntIDs) = 0;
 
   //! Get coordinates of specified point
   virtual std::deque<float> getPoint( const int theISection, 
@@ -169,7 +179,9 @@ public:
   /***********************************************/
   /***       Presentation methods              ***/
   /***********************************************/
-  virtual ListAISObjects constructWire() const = 0;
+  virtual ListAISObjects constructWire() = 0;
+
+  virtual Handle_AIS_InteractiveObject getAISObject() const = 0;
 };
 
 #endif