diff --git a/EGkCAvToolSurfTm.h b/EGkCAvToolSurfTm.h index 176ea05..0a7a43f 100644 --- a/EGkCAvToolSurfTm.h +++ b/EGkCAvToolSurfTm.h @@ -38,7 +38,7 @@ class __declspec( novtable) ICAvToolSurfTm { virtual double GetToolRadius( void) const = 0 ; virtual double GetToolHeight( void) const = 0 ; virtual const ICurveComposite& GetToolOutline( bool bApprox = false) const = 0 ; - virtual bool TestPosition( const Point3d& ptT, const Vector3d& vtDir, const Vector3d& vtMove, double& dTotDist) = 0 ; + virtual bool TestPosition( const Point3d& ptT, const Vector3d& vtDir, const Vector3d& vtMove, double& dTotDist) const = 0 ; virtual bool TestSeries( PNTUVECTOR& vPntM, const Vector3d& vtDir, const Vector3d& vtMove, double dProgCoeff = 1) = 0 ; virtual bool TestPath( PNTULIST& lPntM, const Vector3d& vtDir, const Vector3d& vtMove, double dLinTol, double dProgCoeff = 1) = 0 ; } ; diff --git a/EGkCalcPocketing.h b/EGkCalcPocketing.h index dd57d4e..8335277 100644 --- a/EGkCalcPocketing.h +++ b/EGkCalcPocketing.h @@ -26,7 +26,7 @@ //----------------------------------------------------------------------------- EGK_EXPORT bool CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dRadOffs, double dStep, double dAngle, int nType, - bool bSmooth, ICRVCOMPOPOVECTOR& vCrv) ; + bool bSmooth, ISurfFlatRegion* pSfrLimit, ICRVCOMPOPOVECTOR& vCrv) ; EGK_EXPORT bool CalcZigZagInfill( const ISurfFlatRegion* pSfr, double dStep, bool bSmooth, bool bRemoveOverlapLink, ICRVCOMPOPOVECTOR& vCrvCompoRes) ; diff --git a/EGkSurfTriMesh.h b/EGkSurfTriMesh.h index 41056b6..e1491f8 100644 --- a/EGkSurfTriMesh.h +++ b/EGkSurfTriMesh.h @@ -124,7 +124,13 @@ class __declspec( novtable) ISurfTriMesh : public ISurf virtual bool Repair( double dMaxEdgeLen = MAX_EDGE_LEN_STD) = 0 ; virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ; virtual const BBox3d& GetAllTriaBox( void) const = 0 ; + virtual int GetShellCount( void) const = 0 ; + virtual bool GetShellArea( int nShell, double& dArea) const = 0 ; + virtual bool RemoveShell( int nShell) = 0 ; + virtual ISurfTriMesh* CloneShell( int nShell) const = 0 ; virtual int GetPartCount( void) const = 0 ; + virtual bool GetPartArea( int nPart, double& dArea) const = 0 ; + virtual bool GetPartVolume( int nPart, double& dVolume) const = 0 ; virtual bool RemovePart( int nPart) = 0 ; virtual ISurfTriMesh* ClonePart( int nPart) const = 0 ; virtual bool SetTFlag( int nId, int nTFlag) = 0 ; diff --git a/EGkVector3d.h b/EGkVector3d.h index 78157eb..5a350c0 100644 --- a/EGkVector3d.h +++ b/EGkVector3d.h @@ -441,6 +441,17 @@ AreOrthoExact( const Vector3d& vtV1, const Vector3d& vtV2) return ( abs( vtV1 * vtV2) < COS_ORTO_ANG_ZERO) ; } +//---------------------------------------------------------------------------- +//! Restituisce una copia ruotata del vettore passato +//---------------------------------------------------------------------------- +inline const Vector3d +GetRotate( const Vector3d& vtV, const Vector3d& vtAx, double dAngDeg) +{ + Vector3d vtW = vtV ; + vtW.Rotate( vtAx, dAngDeg) ; + return vtW ; +} + //---------------------------------------------------------------------------- //! Restituisce una copia in locale del vettore passato //---------------------------------------------------------------------------- diff --git a/EInAPI.h b/EInAPI.h index 1371172..ad01640 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -574,6 +574,9 @@ EIN_EXPORT BOOL __stdcall EgtCurveParamAtLength( int nId, double dLen, double* p EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, const double ptOn[3], double dExtend, double* pdLen) ; EIN_EXPORT BOOL __stdcall EgtCurveIsClosed( int nId) ; EIN_EXPORT BOOL __stdcall EgtCurveIsFlat( int nId, BOOL bUseExtrusion, double dToler, double vtN[3], double* pdDist) ; +EIN_EXPORT BOOL __stdcall EgtCurveIsACircle( int nId, double dToler, double ptC[3], double vtN[3], double* pdRad, BOOL* pbCCW) ; +EIN_EXPORT BOOL __stdcall EgtCurveIsARectangle( int nId, double dToler, double ptP[3], double vtL1[3], double vtL2[3]) ; +EIN_EXPORT BOOL __stdcall EgtCurveIsATrapezoid( int nId, double dToler, double ptP[3], double vtB1[3], double vtL1[3], double vtB2[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveAreaXY( int nId, double* pdArea) ; EIN_EXPORT BOOL __stdcall EgtCurveArea( int nId, double vtN[3], double* pdDist, double* pdArea) ; EIN_EXPORT BOOL __stdcall EgtCurveNearestExtremityToPoint( int nId, const double ptP[3], BOOL* pbStart) ; diff --git a/EXeExecutor.h b/EXeExecutor.h index f5118c2..1cef3e4 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -1098,6 +1098,7 @@ EXE_EXPORT bool ExeTdbGetCurrToolValInNotes( int nType, const std::string& sKey, EXE_EXPORT bool ExeTdbGetCurrToolMaxDepth( double& dMaxDepth) ; EXE_EXPORT bool ExeTdbGetCurrToolThDiam( double& dThDiam) ; EXE_EXPORT bool ExeTdbGetCurrToolThLength( double& dThLen) ; +EXE_EXPORT bool ExeTdbCurrToolIsStandardDraw( bool& bStandard) ; EXE_EXPORT int ExeTdbCurrToolDraw( int nGenCtx, int nToolCtx) ; EXE_EXPORT bool ExeTdbReload( void) ; EXE_EXPORT bool ExeTdbSave( void) ; diff --git a/EgtKeyCodes.h b/EgtKeyCodes.h index c590fec..d21a5da 100644 --- a/EgtKeyCodes.h +++ b/EgtKeyCodes.h @@ -25,7 +25,7 @@ //---------------------------------------------------------------------------- const int KEY_BASELIB_PROD = 207 ; -const int KEY_BASELIB_VER = 2606 ; +const int KEY_BASELIB_VER = 2607 ; const int KEY_BASELIB_LEV = 1 ; //----------------------------------------------------------------------------