diff --git a/EGkSbzFromCurves.h b/EGkSbzFromCurves.h index e6b1f08..df2395e 100644 --- a/EGkSbzFromCurves.h +++ b/EGkSbzFromCurves.h @@ -25,26 +25,26 @@ #define EGK_EXPORT __declspec( dllimport) #endif -//---------------------------------------------------------------------------- -enum RS_CAP { RSCAP_NONE = 0, RSCAP_FLAT = 1, RSCAP_ROUND = 2, RSCAP_BEVEL = 3} ; +////---------------------------------------------------------------------------- +//enum RS_CAP { RSCAP_NONE = 0, RSCAP_FLAT = 1, RSCAP_ROUND = 2, RSCAP_BEVEL = 3} ; //---------------------------------------------------------------------------- EGK_EXPORT ISurfBezier* GetSurfBezierByFlatContour( const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierByRegion( const CICURVEPVECTOR& vpCurve, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierByRegion( const CICURVEPVECTOR& vpCurve, double dLinTol = 10 * EPS_SMALL) ; EGK_EXPORT ISurfBezier* GetSurfBezierByExtrusion( const ICurve* pCurve, const Vector3d& vtExtr, - bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierByRegionExtrusion( const CICURVEPVECTOR& vpCurve, const Vector3d& vtExtr, - double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierByRevolve( const ICurve* pCurve, const Point3d& ptAx, - const Vector3d& vtAx, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierByScrewing( const ICurve* pCurve, const Point3d& ptAx, const Vector3d& vtAx, - double dAngRotDeg, double dMove, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierRectSwept( double dDimH, double dDimV, double dBevelH, double dBevelV, - const ICurve* pGuide, int nCapType, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierSwept( const ICurve* pSect, const ICurve* pGuide, const Vector3d& vtAx, - bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierSwept( const ISurfFlatRegion* pSfrSect, const ICurve* pGuide, const Vector3d& vtAx, - bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierTransSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ; -EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ; + bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierByRegionExtrusion( const CICURVEPVECTOR& vpCurve, const Vector3d& vtExtr, +// double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierByRevolve( const ICurve* pCurve, const Point3d& ptAx, +// const Vector3d& vtAx, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierByScrewing( const ICurve* pCurve, const Point3d& ptAx, const Vector3d& vtAx, +// double dAngRotDeg, double dMove, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierRectSwept( double dDimH, double dDimV, double dBevelH, double dBevelV, +// const ICurve* pGuide, int nCapType, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierSwept( const ICurve* pSect, const ICurve* pGuide, const Vector3d& vtAx, +// bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierSwept( const ISurfFlatRegion* pSfrSect, const ICurve* pGuide, const Vector3d& vtAx, +// bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierTransSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ; +//EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ; diff --git a/EGkSurfBezier.h b/EGkSurfBezier.h index dec7b3f..21487f9 100644 --- a/EGkSurfBezier.h +++ b/EGkSurfBezier.h @@ -73,6 +73,9 @@ class __declspec( novtable) ISurfBezier : public ISurf virtual bool IncreaseUV( Point3d& ptUV, Vector3d vtH , Point3d* ptUVCopy, bool bModifyOrig) const = 0 ; virtual bool GetLoops( ICRVCOMPOPOVECTOR& vCC, bool bLineOrBezier, int nEdge = -1) const = 0 ; virtual bool IsPlanar( void) const = 0 ; + virtual bool CreateByFlatContour( const PolyLine& PL) = 0 ; + virtual bool CreateByRegion( const POLYLINEVECTOR& vPL) = 0 ; + virtual bool CreateByExtrusion( const ICurve* pCrv, const Vector3d& vtExtr, bool bDeg3OrDeg2 = false) = 0 ; } ; //----------------------------------------------------------------------------- diff --git a/EXeExecutor.h b/EXeExecutor.h index 4f55d73..ea2f252 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -374,6 +374,7 @@ EXE_EXPORT int ExeCreateSurfBezierRational( int nParentId, int nDegU, int nDegV EXE_EXPORT int ExeCreateSurfBezierLeaves( int nParentId, int nSurfBzId, int nTextHeight = 50, bool bShowTrim = false, int* pnCount = nullptr) ; EXE_EXPORT int ExeCreateBezierSphere( int nParentId, const Point3d& ptCenter, double dR, int nRefType) ; EXE_EXPORT int ExeCreateSurfBezierTria2D( int nParentId, int nSurfBzId, int nTextHeight, bool bShowTrim, int* pnCount) ; +EXE_EXPORT int ExeCreateSurfBzByFlatContour( int nParentId, int nCrvId, double dLinTol) ; EXE_EXPORT int ExeCreateSurfBzByExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr, double dLinTol, int nRefType) ;