* parameters. It is applicable to the following operations:
* <UL>
* <LI>Clear</LI>
- * <LI>Join (without arguments)</LI>
* </UL>
*/
- bool init(const CurveCreator_Curve *theCurve,
- const CurveCreator_Operation::Type theType);
+ bool init(const CurveCreator_Curve *theCurve);
/**
* This method initializes the difference with an operation with one integer
* <LI>SetType</LI>
* <LI>SetClosed</LI>
* <LI>MoveSection</LI>
- * <LI>Join (with 2 int arguments)</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const int theIntParam1,
const int theIntParam2);
- /**
- * This method initializes the difference with an operation with three
- * integer parameters. It is applicable to the following operations:
+ /**
+ * This method initializes the difference with an operation with two integer
+ * parameters. It is applicable to the following operations:
* <UL>
- * <LI>RemovePoints</LI>
+ * <LI>Join (with a list of int arguments)</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const CurveCreator_Operation::Type theType,
- const int theIntParam1,
- const int theIntParam2,
- const int theIntParam3);
+ const std::list<int>& theParams);
/**
* This method initializes the difference with an operation with one
- * CurveCreator::Coordinates parameter and one integer parameter.
+ * Name, one CurveCreator::Coordinates parameter and two integer parameters.
* It is applicable to the following operations:
* <UL>
- * <LI>AddPoints</LI>
+ * <LI>AddSection</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const CurveCreator_Operation::Type theType,
+ const std::string& theName,
const CurveCreator::Coordinates &theCoords,
- const int theIntParam);
+ const int theIntParam1,
+ const int theIntParam2);
/**
* This method initializes the difference with an operation with one
- * CurveCreator::Coordinates parameter and two integer parameters.
+ * string and one integer parameters.
* It is applicable to the following operations:
* <UL>
- * <LI>InsertPoints</LI>
- * <LI>SetCoordinates</LI>
+ * <LI>RenameSection</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const CurveCreator_Operation::Type theType,
- const CurveCreator::Coordinates &theCoords,
- const int theIntParam1,
- const int theIntParam2);
+ const std::string &theName,
+ const int theIntParam1 );
/**
- * This method initializes the difference with an operation with one
- * Name, one CurveCreator::Coordinates parameter and two integer parameters.
+ * This method initializes the difference with an operation with
+ * list of pairs of integer parameters.
* It is applicable to the following operations:
* <UL>
- * <LI>AddSection</LI>
+ * <LI>RemovePoints</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const CurveCreator_Operation::Type theType,
- const std::string& theName,
- const CurveCreator::Coordinates &theCoords,
- const int theIntParam1,
- const int theIntParam2);
+ const CurveCreator_ICurve::SectionToPointList &theParamList);
/**
- * This method initializes the difference with an operation with one
- * string and one integer parameters.
+ * This method initializes the difference with an operation with
+ * list of pairs of integer parameters with point coordinates.
* It is applicable to the following operations:
* <UL>
- * <LI>RenameSection</LI>
+ * <LI>RemovePoints</LI>
* </UL>
*/
bool init(const CurveCreator_Curve *theCurve,
const CurveCreator_Operation::Type theType,
- const std::string &theName,
- const int theIntParam1 );
+ const CurveCreator_ICurve::SectionToPointCoordsList &theParamList);
+
+ /**
+ * This method initializes the difference with an operation with
+ * list of pairs of integer parameters with point coordinates.
+ * \param theCurve the modified curve
+ * \param theOldParamList the old parameters (to be saved for undo)
+ */
+ bool init(const CurveCreator_Curve *theCurve,
+ const CurveCreator_ICurve::SectionToPointCoordsList &theOldParamList);
/**
* This method applies undo operation to theCurve.