#include "CurveCreator_Macro.hxx"
#include <deque>
+#include <vector>
+#include <string>
+
+class Handle_AIS_InteractiveObject;
namespace CurveCreator
{
*/
class CURVECREATOR_EXPORT CurveCreator_ICurve
{
+public:
+ 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 ***/
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,
/***********************************************/
/*** Presentation methods ***/
/***********************************************/
-// virtual TopoDS_Wire constructWire() const = 0;
+
+ virtual Handle_AIS_InteractiveObject getAISObject( const bool theNeedToBuild = false ) const = 0;
+
+protected:
+ virtual void constructAISObject() = 0;
+
};
#endif