diff --git a/EGkCurveComposite.h b/EGkCurveComposite.h index 15bbba7..4d7970c 100644 --- a/EGkCurveComposite.h +++ b/EGkCurveComposite.h @@ -20,6 +20,9 @@ //---------------------------------------------------------------------------- class __declspec( novtable) ICurveComposite : public ICurve { + public : + enum DeletedCurve { NONE = 0, PREV = 1, NEXT = 2 } ; + public : // IGeoObj ICurveComposite* Clone( void) const override = 0 ; public : @@ -49,7 +52,8 @@ class __declspec( novtable) ICurveComposite : public ICurve virtual bool AddArc2P( const Point3d& ptOther, const Point3d& ptNew, bool bEndOrStart = true) = 0 ; virtual bool AddArcTg( const Point3d& ptNew, bool bEndOrStart = true) = 0 ; virtual bool AddJoint( double dU) = 0 ; - virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint) = 0 ; + virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint, int* pnFlagDel = nullptr) = 0 ; + virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint, double dTol) = 0 ; virtual bool RemoveJoint( int nU) = 0 ; virtual bool MoveCurve( int nCrv, const Vector3d& vtMove) = 0 ; virtual bool ModifyCurveToArc( int nCrv, const Point3d& ptMid) = 0 ; @@ -71,6 +75,7 @@ class __declspec( novtable) ICurveComposite : public ICurve virtual bool SetCurveTempParam( int nCrv, double dParam, int nParamInd = 0) = 0 ; virtual bool GetCurveTempParam( int nCrv, double& dParam, int nParamInd = 0) const = 0 ; virtual bool GetOnlyPoint( Point3d& ptStart) const = 0 ; + virtual bool ModifySingleCurve( int nSubCrv, ICurve* pNewCurve, double dTolStartEnd, double dTolAlong = INFINITO) = 0 ; } ; //-----------------------------------------------------------------------------