diff --git a/EGkSbzFromCurves.h b/EGkSbzFromCurves.h new file mode 100644 index 0000000..e6b1f08 --- /dev/null +++ b/EGkSbzFromCurves.h @@ -0,0 +1,50 @@ +//---------------------------------------------------------------------------- +// EgalTech 2024-2024 +//---------------------------------------------------------------------------- +// File : EGkSbzFromCurves.h Data : 07.05.24 Versione : 2.6d2 +// Contenuto : Prototipi funzioni di creazione TriMesh a partire da curve. +// +// +// +// Modifiche : 07.05.24 DB Creazione modulo. +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkCurve.h" +#include "/EgtDev/Include/EGkSurfFlatRegion.h" +#include "/EgtDev/Include/EGkSurfTriMesh.h" +#include "/EgtDev/Include/EGkSurfBezier.h" + +//----------------------- Macro per import/export ---------------------------- +#undef EGK_EXPORT +#if defined( I_AM_EGK) // da definirsi solo nella DLL +#define EGK_EXPORT __declspec( dllexport) +#else +#define EGK_EXPORT __declspec( dllimport) +#endif + +//---------------------------------------------------------------------------- +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* 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) ; diff --git a/EXeExecutor.h b/EXeExecutor.h index 0861c2b..4f55d73 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -374,6 +374,8 @@ 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 ExeCreateSurfBzByExtrusion( int nParentId, const INTVECTOR& vCrvIds, const Vector3d& vtExtr, + double dLinTol, int nRefType) ; // GeomDB Create Volume EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,