diff --git a/EgkCurve.h b/EgkCurve.h index 65b7b82..a432e89 100644 --- a/EgkCurve.h +++ b/EgkCurve.h @@ -30,6 +30,10 @@ class _declspec( novtable) ICurve : public IGeoObj virtual bool GetPointTang( double dU, Point3d& ptPos, Vector3d& vtTang) const = 0 ; virtual bool GetPointTangNormCurv( double dU, Point3d& ptPos, Vector3d& vtT, Vector3d& vtN, double& dCurv) const = 0 ; virtual bool Reverse( void) = 0 ; + virtual bool TrimStartAtParam( double dUTrim) = 0 ; + virtual bool TrimEndAtParam( double dUTrim) = 0 ; + virtual bool TrimStartAtLen( double dLenTrim) = 0 ; + virtual bool TrimEndAtLen( double dLenTrim) = 0 ; } ; //---------------------------------------------------------------------------- diff --git a/EgkCurveBezier.h b/EgkCurveBezier.h index 00331fb..e720e56 100644 --- a/EgkCurveBezier.h +++ b/EgkCurveBezier.h @@ -15,6 +15,8 @@ #include "/EgtDev/Include/EGkCurve.h" +class ICurveArc ; + //---------------------------------------------------------------------------- class _declspec( novtable) ICurveBezier : public ICurve { @@ -22,6 +24,7 @@ class _declspec( novtable) ICurveBezier : public ICurve virtual bool Init( int nDeg, bool bIsRational) = 0 ; virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl) = 0 ; virtual bool SetControlPoint( int nInd, const Point3d& ptCtrl, double dW) = 0 ; + virtual bool SetFromArc( const ICurveArc& crArc) = 0 ; virtual int GetDegree( void) const = 0 ; virtual bool IsRational( void) const = 0 ; virtual const Point3d& GetControlPoint( int nInd, bool* pbOk = NULL) const = 0 ;