diff --git a/EGkProjectCurveSurfBez.h b/EGkProjectCurveSurfBez.h new file mode 100644 index 0000000..67556fd --- /dev/null +++ b/EGkProjectCurveSurfBez.h @@ -0,0 +1,37 @@ +//---------------------------------------------------------------------------- +// EgalTech 2024-2024 +//---------------------------------------------------------------------------- +// File : EGkProjectCurveSurfTm.h Data : 07.05.24 Versione : 2.6e3 +// Contenuto : Dichiarazione funzioni proiezione curve su superficie Bezier. +// +// +// +// Modifiche : 07.05.24 DB Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkGeoPoint3d.h" +#include "/EgtDev/Include/EGkCurve.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 + +//---------------------------------------------------------------------------- +// Proiezione di una curva su una superficie TriMesh lungo la direzione data. +EGK_EXPORT bool ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const Vector3d& vtDir, + double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ; +EGK_EXPORT bool ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const IGeoPoint3d& gpRef, + double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ; +EGK_EXPORT bool ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const ICurve& crRef, + double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ; +EGK_EXPORT bool ProjectCurveOnSurfBez( const ICurve& crCrv, const ISurfBezier& surfBez, const ISurfTriMesh& tmRef, + double dLinTol, double dMaxSegmLen, PNT5AXVECTOR& vPt5ax) ; diff --git a/EXeExecutor.h b/EXeExecutor.h index fb3524f..5a1b876 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -609,6 +609,10 @@ EXE_EXPORT bool ExeProjectCurveOnSurfTm( int nCurveId, int nSurfTmId, const Vect double dLinTol, double dMaxSegmLen, int nRefType) ; EXE_EXPORT bool ExeProjectCurveOnSurfTmExt( int nCurveId, int nSurfTmId, int nGuideId, int nDestGrpId, double dLinTol, double dMaxSegmLen, bool bDirFromGuide) ; +EXE_EXPORT bool ExeProjectCurveOnSurfBz( int nCurveId, int nSurfBzId, const Vector3d& vtDir, int nDestGrpId, + double dLinTol, double dMaxSegmLen, int nRefType) ; +EXE_EXPORT bool ExeProjectCurveOnSurfBzExt( int nCurveId, int nSurfBzId, int nGuideId, int nDestGrpId, + double dLinTol, double dMaxSegmLen, bool bDirFromGuide) ; EXE_EXPORT int ExeCurveGetVoronoi( int nId, int nDestGrpId, int nBound, int* pnCount) ; EXE_EXPORT int ExeCurveGetMedialAxis( int nId, int nDestGrpId, int nSide, int* pnCount) ; EXE_EXPORT int ExeCurveGetFatCurve( int nId, int nDestGrpId, double dRad, bool bSquareEnds, bool bSquareMids, int* pnCount) ;