#include "CurveCreator_Macro.hxx"
#include <deque>
+#include <vector>
+
+#include <AIS_InteractiveObject.hxx>
namespace CurveCreator
{
*/
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 ***/
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 ListAISObjects constructWire() const = 0;
};
#endif