From e0ce506ea87ad80369c52e8cfdc5a3f2a3127e8a Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 6 Jul 2016 16:06:11 +0000 Subject: [PATCH] Include : - aggiornamenti. --- EGkIntersCurves.h | 12 ++++++++++++ EInAPI.h | 2 ++ EMkMachMgr.h | 2 +- EXeExecutor.h | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/EGkIntersCurves.h b/EGkIntersCurves.h index de793d0..631cafb 100644 --- a/EGkIntersCurves.h +++ b/EGkIntersCurves.h @@ -90,6 +90,16 @@ const int CRVC_OUT = 2 ; //!< Parte di curva esterna const int CRVC_ON_P = 3 ; //!< Parte di curva sovrapposta equiversa const int CRVC_ON_M = 4 ; //!< Parte di curva sovrapposta controversa +//----------------------------------------------------------------------------- +// Costanti per classificazione di curve chiuse come regioni +const int CCREGC_NULL = 0 ; //!< Non classificabili +const int CCREGC_IN1 = 1 ; //!< La prima regione è inclusa nella seconda +const int CCREGC_IN2 = 2 ; //!< La seconda regione è inclusa nella prima +const int CCREGC_SAME = 3 ; //!< Le due regioni coincidono +const int CCREGC_OUT = 4 ; //!< Le due regioni sono esterne +const int CCREGC_INTERS = 5 ; //!< Le due regioni si intersecano + + //----------------------------------------------------------------------------- //! Classe per calcolo intersezione tra due curve nel piano XY locale class IntersCurveCurve @@ -114,6 +124,8 @@ class IntersCurveCurve EGK_EXPORT bool GetIntersPointNearTo( int nCrv, const Point3d& ptNear, Point3d& ptI) ; //! Restituisce la classificazione di una curva rispetto all'altra ( nCrv=0 -> CurvaA, nCrv=1 -> CurvaB) EGK_EXPORT bool GetCurveClassification( int nCrv, CRVCVECTOR& ccClass) ; + //! Restituisce la classificazione di curve chiuse secondo le regole delle regioni + EGK_EXPORT int GetRegionCurveClassification( void) ; private : IntersCurveCurve( void) ; diff --git a/EInAPI.h b/EInAPI.h index 2207b2d..4acf2d7 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -423,6 +423,8 @@ EIN_EXPORT BOOL __stdcall EgtCurveArea( int nId, double vtN[3], double* pdDist, EIN_EXPORT BOOL __stdcall EgtCurveNearestExtremityToPoint( int nId, const double ptP[3], BOOL* pbStart) ; EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, int nRefId, double vtExtr[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveThickness( int nId, double* pdThick) ; +EIN_EXPORT BOOL __stdcall EgtCurveSelfIntersCount( int nId, int* pnCount) ; +EIN_EXPORT int __stdcall EgtClosedCurveClassify( int nId1, int nId2) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist, double* pdU) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPntSidePointCurve( const double ptP[3], int nId, const double vtN[3], double* pdDist, double ptMin[3], int* pnSide) ; diff --git a/EMkMachMgr.h b/EMkMachMgr.h index 175c2b8..b1f32e0 100644 --- a/EMkMachMgr.h +++ b/EMkMachMgr.h @@ -209,7 +209,7 @@ class __declspec( novtable) IMachMgr virtual bool GetCalcTipFromPositions( double dX, double dY, double dZ, double dAngA, double dAngB, bool bOverall, bool bBottom, Point3d& ptTip) = 0 ; virtual bool GetCalcToolDirFromAngles( double dAngA, double dAngB, Vector3d& vtDir) = 0 ; - virtual bool GetNearestAngleInStroke( int nId, double dAngRef, double& dAng) = 0 ; + virtual bool GetNearestAngleInStroke( int nInd, double dAngRef, double& dAng) = 0 ; virtual bool VerifyOutstroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat) = 0 ; virtual const std::string& GetOutstrokeInfo( void) const = 0 ; // Machine diff --git a/EXeExecutor.h b/EXeExecutor.h index 4c85e67..d8a9b78 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -461,6 +461,7 @@ EXE_EXPORT bool ExeCurveNearestExtremityToPoint( int nId, const Point3d& ptP, bo EXE_EXPORT bool ExeCurveExtrusion( int nId, int nRefId, Vector3d& vtExtr) ; EXE_EXPORT bool ExeCurveThickness( int nId, double* pdThick) ; EXE_EXPORT bool ExeCurveSelfIntersCount( int nId, int* pnCount) ; +EXE_EXPORT int ExeClosedCurveClassify( int nId1, int nId2) ; EXE_EXPORT bool ExeGetMinDistPointCurve( const Point3d& ptP, int nId, double* pdDist, double* pdU) ; EXE_EXPORT bool ExeGetMinDistPntSidePointCurve( const Point3d& ptP, int nId, const Vector3d& vtN, double* pdDist, Point3d& ptMin, int* pnSide) ;