23 #ifndef _CurveCreator_ICurve_HeaderFile 
   24 #define _CurveCreator_ICurve_HeaderFile 
   29 #include <TColgp_HArray1OfPnt.hxx> 
   30 #include <AIS_InteractiveObject.hxx> 
   37 namespace CurveCreator
 
   62   virtual void GetDifferentPoints(
 
   63     const int theDimension, 
Handle(TColgp_HArray1OfPnt)& thePoints) 
const = 0;
 
   90   virtual int getNbUndo() 
const = 0;
 
   93   virtual bool undo() = 0;
 
   96   virtual int getNbRedo() 
const = 0;
 
   99   virtual bool redo() = 0;
 
  107   virtual bool clear() = 0;
 
  111   virtual bool join( 
const std::list<int>& theSections ) = 0;
 
  114   virtual int getNbSections() 
const = 0;
 
  117   virtual int addSection( 
const std::string& theName, 
 
  119                            const bool theIsClosed ) = 0;
 
  122   virtual bool removeSection( 
const int theISection ) = 0;
 
  125   virtual bool isClosed( 
const int theISection ) 
const = 0;
 
  131   virtual bool setClosed( 
const int theISection, 
 
  132                           const bool theIsClosed ) = 0;
 
  135   virtual std::string getSectionName( 
const int theISection ) 
const = 0;
 
  138   virtual bool setSectionName( 
const int theISection, 
 
  139                                const std::string& theName ) = 0;
 
  148   virtual bool setSectionType( 
const int theISection, 
 
  153     const int theSectionIndex) 
const = 0;
 
  171                           const int theISection,
 
  172                           const int theIPnt = -1 ) = 0;
 
  175   virtual bool setPoint( 
const int theISection,
 
  180   virtual bool setSeveralPoints( 
const SectionToPointCoordsList &theSectionToPntCoords,
 
  181                                  const bool theIsToSaveDiff = 
true ) = 0;
 
  184   virtual bool removePoint( 
const int theISection, 
const int theIPnt = -1 ) = 0;
 
  186   virtual bool removeSeveralPoints( 
const SectionToPointList &theSectionToPntIDs) = 0;
 
  190                                       const int theIPnt ) 
const = 0;
 
  201   virtual int getNbPoints( 
const int theISection ) 
const = 0;
 
  206   virtual void setSkipSorting( 
const bool ) = 0;
 
  211   virtual bool canPointsBeSorted() = 0;
 
  217   virtual void saveCoordDiff( 
const SectionToPointCoordsList &theOldCoords ) = 0;
 
  226   virtual 
void constructAISObject() = 0;