From 8a1272e3d60bf3063834493f32e9224203b8c161 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 22 Feb 2016 07:36:32 +0000 Subject: [PATCH] Include : - aggiornamenti. --- EGkCurveComposite.h | 3 +++ EGkPolyLine.h | 1 + EInAPI.h | 28 ++++++++++++++++------------ EMkMachMgr.h | 1 + EMkMachiningGeoConst.h | 3 +++ EXeExecutor.h | 25 +++++++++++++------------ 6 files changed, 37 insertions(+), 24 deletions(-) diff --git a/EGkCurveComposite.h b/EGkCurveComposite.h index 0cf4e04..4f4894b 100644 --- a/EGkCurveComposite.h +++ b/EGkCurveComposite.h @@ -39,6 +39,9 @@ class __declspec( novtable) ICurveComposite : public ICurve virtual bool IsParamAtJoint( double dU) const = 0 ; virtual ICurve* RemoveFirstOrLastCurve( bool bLast = true) = 0 ; virtual bool ChangeStartPoint( double dU) = 0 ; + virtual bool AddJoint( double dU) = 0 ; + virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint) = 0 ; + virtual bool RemoveJoint( int nU) = 0 ; virtual bool ArcsToBezierCurves( void) = 0 ; virtual bool ArcsBezierCurvesToArcsPerpExtr( double dLinTol, double dAngTolDeg) = 0 ; virtual bool MergeCurves( double dLinTol, double dAngTolDeg) = 0 ; diff --git a/EGkPolyLine.h b/EGkPolyLine.h index c97920d..1baa2e6 100644 --- a/EGkPolyLine.h +++ b/EGkPolyLine.h @@ -108,6 +108,7 @@ class PolyLine EGK_EXPORT bool ApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler = EPS_SMALL) ; EGK_EXPORT bool MakeConvex( const Vector3d& vtN, bool bLeftSide) ; EGK_EXPORT bool Invert( bool bInvertU = true) ; + EGK_EXPORT bool Flatten( double dZ = 0) ; private : int m_nRejected ; diff --git a/EInAPI.h b/EInAPI.h index f204a2b..a898aa0 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -378,6 +378,9 @@ EIN_EXPORT BOOL __stdcall EgtModifyCircleCP( int nId, const double ptOn[3], int EIN_EXPORT BOOL __stdcall EgtModifyArcRadius( int nId, double dRad) ; EIN_EXPORT BOOL __stdcall EgtModifyArcC2P( int nId, const double ptEnd[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyArc3P( int nId, const double ptMid[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtAddCurveCompoJoint( int nId, double dU) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveCompoJoint( int nId, int nU, const double ptP[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtRemoveCurveCompoJoint( int nId, int nU) ; EIN_EXPORT int __stdcall EgtExplodeCurveCompo( int nId, int* pnCount) ; EIN_EXPORT BOOL __stdcall EgtMergeCurvesInCurveCompo( int nId, double dLinTol) ; @@ -460,20 +463,19 @@ EIN_EXPORT BOOL __stdcall EgtPackBoxCluster( int nId[], int nCount, double dXmin EIN_EXPORT BOOL __stdcall EgtMoveBoxCluster( int nId[], int nCount, double vtMove[3], double dXmin, double dYmin, double dXmax, double dYmax, double dOffs) ; EIN_EXPORT BOOL __stdcall EgtGetClusterBBoxGlob( int nId[], int nCount, double ptMin[3], double ptMax[3]) ; -EIN_EXPORT BOOL __stdcall EgtVerifyPartCluster( int nId[], int nCount, BOOL bReducedCut, - double dXmin, double dYmin, double dXmax, double dYmax) ; +EIN_EXPORT BOOL __stdcall EgtCreateOutRegion( int nParentId, + double dXmin, double dYmin, double dXmax, double dYmax, double dZ) ; +EIN_EXPORT BOOL __stdcall EgtCreateOutRegion2( int nParentId, int nOutCrvId) ; +EIN_EXPORT BOOL __stdcall EgtVerifyPartCluster( int nId[], int nCount, BOOL bReducedCut) ; EIN_EXPORT BOOL __stdcall EgtPackPartCluster( int nId[], int nCount, BOOL bReducedCut, double dXmin, double dYmin, double dXmax, double dYmax, BOOL bBottomUp) ; -EIN_EXPORT BOOL __stdcall EgtMovePartCluster( int nId[], int nCount, BOOL bReducedCut, double vtMove[3], - double dXmin, double dYmin, double dXmax, double dYmax) ; -EIN_EXPORT BOOL __stdcall EgtRotatePartCluster( int nId[], int nCount, BOOL bReducedCut, const double ptCen[3], double* pdRotAngDeg, - double dXmin, double dYmin, double dXmax, double dYmax) ; -EIN_EXPORT BOOL __stdcall EgtTgMovePartClusterOnCollision( int nId[], int nCount, BOOL bReducedCut, double vtMove[3], - double dXmin, double dYmin, double dXmax, double dYmax) ; -EIN_EXPORT BOOL __stdcall EgtAlignPartClusterOnCollision( int nId[], int nCount, BOOL bReducedCut, - double dXmin, double dYmin, double dXmax, double dYmax, BOOL* pbMoved) ; -EIN_EXPORT BOOL __stdcall EgtMoveToSnapPointOnCollision( int nId[], int nCount, BOOL bReducedCut, double dMaxMove, - double dXmin, double dYmin, double dXmax, double dYmax, BOOL* pbMoved) ; +EIN_EXPORT BOOL __stdcall EgtPackPartCluster2( int nId[], int nCount, BOOL bReducedCut, BOOL bBottomUp) ; +EIN_EXPORT BOOL __stdcall EgtMovePartCluster( int nId[], int nCount, BOOL bReducedCut, double vtMove[3]) ; +EIN_EXPORT BOOL __stdcall EgtRotatePartCluster( int nId[], int nCount, BOOL bReducedCut, + const double ptCen[3], double* pdRotAngDeg) ; +EIN_EXPORT BOOL __stdcall EgtTgMovePartClusterOnCollision( int nId[], int nCount, BOOL bReducedCut, double vtMove[3]) ; +EIN_EXPORT BOOL __stdcall EgtAlignPartClusterOnCollision( int nId[], int nCount, BOOL bReducedCut, BOOL* pbMoved) ; +EIN_EXPORT BOOL __stdcall EgtMoveToSnapPointOnCollision( int nId[], int nCount, BOOL bReducedCut, double dMaxMove, BOOL* pbMoved) ; EIN_EXPORT void __stdcall EgtSaveCollInfo( void) ; EIN_EXPORT void __stdcall EgtRestoreCollInfo( void) ; EIN_EXPORT BOOL __stdcall EgtGetPartClusterCenterGlob( int nId[], int nCount, double ptCen[3]) ; @@ -510,6 +512,8 @@ EIN_EXPORT int __stdcall EgtAddRawPart( const double ptOrig[3], double dLength, double dWidth, double dHeight, const int vCol[4]) ; EIN_EXPORT BOOL __stdcall EgtModifyRawPart( int nRawId, const double ptOrig[3], double dLength, double dWidth, double dHeight, const int vCol[4]) ; +EIN_EXPORT BOOL __stdcall EgtModifyRawPart2( int nRawId, int nCrvId, + double dOverMat, double dZmin, double dHeight, const int vCol[4]) ; EIN_EXPORT BOOL __stdcall EgtModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) ; EIN_EXPORT BOOL __stdcall EgtModifyRawPartHeight( int nRawId, double dHeight) ; EIN_EXPORT BOOL __stdcall EgtKeepRawPart( int nRawId) ; diff --git a/EMkMachMgr.h b/EMkMachMgr.h index 140ec06..460f14a 100644 --- a/EMkMachMgr.h +++ b/EMkMachMgr.h @@ -62,6 +62,7 @@ class __declspec( novtable) IMachMgr virtual int AddRawPart( const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ; virtual int AddRawPartWithPart( int nPartId, int nCrvSrfId, double dOverMat, Color cCol) = 0 ; virtual bool ModifyRawPart( int nRawId, const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ; + virtual bool ModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dZmin, double dHeight, Color cCol) = 0 ; virtual bool ModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) = 0 ; virtual bool ModifyRawPartHeight( int nRawId, double dHeight) = 0 ; virtual bool KeepRawPart( int nRawId) = 0 ; diff --git a/EMkMachiningGeoConst.h b/EMkMachiningGeoConst.h index ac15712..cb1ad58 100644 --- a/EMkMachiningGeoConst.h +++ b/EMkMachiningGeoConst.h @@ -43,3 +43,6 @@ static std::string MCH_PV_KEY_WT = "WT" ; static std::string MCH_PV_KEY_DT = "DT" ; // Chiave info per rinvio a preview spostato nel pezzo in Preview static std::string MCH_PV_KEY_RELOCATE = "PvId" ; +// Chiave info per angoli in XY con entità successiva e precedente +static std::string MCH_PV_KEY_NEXTANG = "NextAng" ; +static std::string MCH_PV_KEY_PREVANG = "PrevAng" ; diff --git a/EXeExecutor.h b/EXeExecutor.h index bf6abc3..28548c9 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -402,6 +402,9 @@ EXE_EXPORT bool ExeModifyArcC2P( int nId, const Point3d& ptEnd, int nRefType) ; EXE_EXPORT bool ExeModifyArc3P( int nId, const Point3d& ptMid, int nRefType) ; EXE_EXPORT bool ExeModifyArcToExplementary( int nId) ; EXE_EXPORT bool ExeModifyArcByFlip( int nId) ; +EXE_EXPORT bool ExeAddCurveCompoJoint( int nId, double dU) ; +EXE_EXPORT bool ExeModifyCurveCompoJoint( int nId, int nU, const Point3d& ptP, int nRefType) ; +EXE_EXPORT bool ExeRemoveCurveCompoJoint( int nId, int nU) ; EXE_EXPORT int ExeExplodeCurveCompo( int nId, int* pnCount) ; EXE_EXPORT bool ExeMergeCurvesInCurveCompo( int nId, double dLinTol) ; EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ; @@ -496,20 +499,17 @@ EXE_EXPORT bool ExeMoveBoxCluster( const INTVECTOR& vIds, Vector3d& vtMove, double dXmin, double dYmin, double dXmax, double dYmax, double dOffs) ; EXE_EXPORT bool ExeGetClusterBBoxGlob( const INTVECTOR& vIds, BBox3d& b3Box) ; // Part Nesting -EXE_EXPORT bool ExeVerifyPartCluster( const INTVECTOR& vIds, bool bReducedCut, - double dXmin, double dYmin, double dXmax, double dYmax) ; +EXE_EXPORT bool ExeCreateOutRegion( int nParentId, double dXmin, double dYmin, double dXmax, double dYmax, double dZ) ; +EXE_EXPORT bool ExeCreateOutRegion( int nParentId, int nOutCrvId) ; +EXE_EXPORT bool ExeVerifyPartCluster( const INTVECTOR& vIds, bool bReducedCut) ; EXE_EXPORT bool ExePackPartCluster( const INTVECTOR& vIds, bool bReducedCut, double dXmin, double dYmin, double dXmax, double dYmax, bool bBottomUp) ; -EXE_EXPORT bool ExeMovePartCluster( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove, - double dXmin, double dYmin, double dXmax, double dYmax) ; -EXE_EXPORT bool ExeRotatePartCluster( const INTVECTOR& vIds, bool bReducedCut, const Point3d& ptCen, double& dRotAngDeg, - double dXmin, double dYmin, double dXmax, double dYmax) ; -EXE_EXPORT bool ExeTgMovePartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove, - double dXmin, double dYmin, double dXmax, double dYmax) ; -EXE_EXPORT bool ExeAlignPartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, - double dXmin, double dYmin, double dXmax, double dYmax, bool& bMoved) ; -EXE_EXPORT bool ExeMoveToSnapPointOnCollision( const INTVECTOR& vIds, bool bReducedCut, double dMaxMove, - double dXmin, double dYmin, double dXmax, double dYmax, bool& bMoved) ; +EXE_EXPORT bool ExePackPartCluster( const INTVECTOR& vIds, bool bReducedCut, bool bBottomUp) ; +EXE_EXPORT bool ExeMovePartCluster( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove) ; +EXE_EXPORT bool ExeRotatePartCluster( const INTVECTOR& vIds, bool bReducedCut, const Point3d& ptCen, double& dRotAngDeg) ; +EXE_EXPORT bool ExeTgMovePartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, Vector3d& vtMove) ; +EXE_EXPORT bool ExeAlignPartClusterOnCollision( const INTVECTOR& vIds, bool bReducedCut, bool& bMoved) ; +EXE_EXPORT bool ExeMoveToSnapPointOnCollision( const INTVECTOR& vIds, bool bReducedCut, double dMaxMove, bool& bMoved) ; EXE_EXPORT void ExeSaveCollInfo( void) ; EXE_EXPORT void ExeRestoreCollInfo( void) ; EXE_EXPORT bool ExeGetPartClusterCenterGlob( const INTVECTOR& vIds, Point3d& ptCen) ; @@ -548,6 +548,7 @@ EXE_EXPORT int ExeGetNextRawPart( int nRawId) ; EXE_EXPORT int ExeAddRawPart( Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ; EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol) ; EXE_EXPORT bool ExeModifyRawPart( int nRawId, Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ; +EXE_EXPORT bool ExeModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dZmin, double dHeight, Color cCol) ; EXE_EXPORT bool ExeModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) ; EXE_EXPORT bool ExeModifyRawPartHeight( int nRawId, double dHeight) ; EXE_EXPORT bool ExeKeepRawPart( int nRawId) ;