From 40aadcac36e601627d5b79ef32d92d93e5ad57dd Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 26 Jan 2015 07:53:44 +0000 Subject: [PATCH] Include : - aggiornamento interfacce - aggiunta dichiarazione oggetto VolZmap. --- EGkGdbIterator.h | 1 + EGkGeoObjType.h | 10 +++--- EGkGeomDB.h | 1 + EGkPolyLine.h | 1 + EInAPI.h | 92 ++++++++++++++++++++++-------------------------- EgkVolZmap.h | 40 +++++++++++++++++++++ 6 files changed, 91 insertions(+), 54 deletions(-) create mode 100644 EgkVolZmap.h diff --git a/EGkGdbIterator.h b/EGkGdbIterator.h index 7073495..ac683a7 100644 --- a/EGkGdbIterator.h +++ b/EGkGdbIterator.h @@ -41,6 +41,7 @@ class __declspec( novtable) IGdbIterator virtual bool EraseAndGoToPrev( void) = 0 ; virtual int GetGdbType( void) const = 0 ; + virtual int GetGeoType( void) const = 0 ; virtual IGeoObj* GetGeoObj( void) = 0 ; virtual const IGeoObj* GetGeoObj( void) const = 0 ; virtual Frame3d* GetGroupFrame( void) = 0 ; diff --git a/EGkGeoObjType.h b/EGkGeoObjType.h index 98b702c..bc8c061 100644 --- a/EGkGeoObjType.h +++ b/EGkGeoObjType.h @@ -1,14 +1,14 @@ //---------------------------------------------------------------------------- -// EgalTech 2013-2014 +// EgalTech 2014-2015 //---------------------------------------------------------------------------- -// File : EGkGeoObjType.h Data : 27.05.14 Versione : 1.5e10 +// File : EGkGeoObjType.h Data : 21.01.15 Versione : 1.6a4 // Contenuto : Definizione Tipo degli Oggetti Geometrici. // // // // Modifiche : 30.04.13 DS Creazione modulo. // 27.05.14 DS Agg. EXT_TEXT. -// +// 21.01.15 DS Agg. VOL_ZMAP e cambiato valore di EXT_TEXT. //---------------------------------------------------------------------------- #pragma once @@ -19,7 +19,8 @@ const int GEO_ZERODIM = 0x080 ; const int GEO_CURVE = 0x100 ; const int GEO_SURF = 0x200 ; -const int GEO_EXTRA = 0x400 ; +const int GEO_VOLUME = 0x400 ; +const int GEO_EXTRA = 0x800 ; //----------------- Costanti tipo oggetto geometrico -------------------------- enum GeoObjType { GEO_NONE = 0, @@ -31,4 +32,5 @@ enum GeoObjType { GEO_NONE = 0, CRV_BEZ = ( GEO_CURVE + 2), CRV_COMPO = ( GEO_CURVE + 3), SRF_TRIMESH = ( GEO_SURF + 0), + VOL_ZMAP = ( GEO_VOLUME + 0), EXT_TEXT = ( GEO_EXTRA + 0)} ; diff --git a/EGkGeomDB.h b/EGkGeomDB.h index 18ddaef..aaea740 100644 --- a/EGkGeomDB.h +++ b/EGkGeomDB.h @@ -54,6 +54,7 @@ class __declspec( novtable) IGeomDB virtual int GetLastGroupInGroup( int nIdGroup) const = 0 ; virtual int GetPrevGroup( int nId) const = 0 ; virtual int GetGdbType( int nId) const = 0 ; + virtual int GetGeoType( int nId) const = 0 ; virtual IGeoObj* GetGeoObj( int nId) = 0 ; virtual const IGeoObj* GetGeoObj( int nId) const = 0 ; virtual Frame3d* GetGroupFrame( int nId) = 0 ; diff --git a/EGkPolyLine.h b/EGkPolyLine.h index f73f169..f380b0e 100644 --- a/EGkPolyLine.h +++ b/EGkPolyLine.h @@ -102,6 +102,7 @@ class PolyLine EGK_EXPORT bool GetAreaXY( double& dArea) const ; EGK_EXPORT bool GetMaxDistanceFromLine( double& dMaxDist, const Point3d& ptAx, const Vector3d& vtAx, double dLen, bool bIsSegment = true) const ; + EGK_EXPORT bool AdjustForMaxSegmentLen( double& dMaxLen) ; private : int m_nRejected ; diff --git a/EInAPI.h b/EInAPI.h index d4634b5..b186c80 100644 --- a/EInAPI.h +++ b/EInAPI.h @@ -43,6 +43,7 @@ EIN_EXPORT void __stdcall EgtEnableCommandLogger( void) ; EIN_EXPORT void __stdcall EgtDisableCommandLogger( void) ; EIN_EXPORT BOOL __stdcall EgtGetVersionInfo( wchar_t*& wsVer) ; EIN_EXPORT BOOL __stdcall EgtFreeMemory( void* pMem) ; +EIN_EXPORT BOOL __stdcall EgtOutLog( const wchar_t* sMsg) ; // Geo Base EIN_EXPORT BOOL __stdcall EgtVectorNormalize( double* pdX, double* pdY, double* pdZ, @@ -152,15 +153,15 @@ EIN_EXPORT int __stdcall EgtCreateCurveArc3P( int nParentId, const double ptP1[ EIN_EXPORT int __stdcall EgtCreateCurveArc2PVN( int nParentId, const double ptStart[3], const double ptEnd[3], const double vtDirS[3], const double vtNorm[3], int nRefType) ; EIN_EXPORT int __stdcall EgtCreateCurveBezier( int nParentId, int nDegree, - const double ptCtrls[/*3x(nDegree+1)*/]) ; + const double ptCtrls[/*3x(nDegree+1)*/], int nRefType) ; EIN_EXPORT int __stdcall EgtCreateCurveBezierRational( int nParentId, int nDegree, - const double ptCtrlWs[/*4x(nDegree+1)*/]) ; + const double ptCtrlWs[/*4x(nDegree+1)*/], int nRefType) ; EIN_EXPORT int __stdcall EgtCreateCurveBezierFromArc( int nParentId, int nArcId, BOOL bErase) ; EIN_EXPORT int __stdcall EgtCreateCurveCompo( int nParentId, int nNumId, const int nIds[], BOOL bErase) ; -EIN_EXPORT int __stdcall EgtCreateCurveCompoByChain( int nParentId, - int nNumId, const int nIds[], const double ptNear[3], BOOL bErase) ; -EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPoints( int nParentId, int nP, const double ptPs[/*3 x nP*/]) ; -EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPointBulges( int nParentId, int nPB, const double ptPBs[/*4 x nPB*/]) ; +EIN_EXPORT int __stdcall EgtCreateCurveCompoByChain( int nParentId, int nNumId, const int nIds[], + const double ptNear[3], BOOL bErase, int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPoints( int nParentId, int nP, const double ptPs[/*3 x nP*/], int nRefType) ; +EIN_EXPORT int __stdcall EgtCreateCurveCompoFromPointBulges( int nParentId, int nPB, const double ptPBs[/*4 x nPB*/], int nRefType) ; EIN_EXPORT int __stdcall EgtCreateCurveCompoByApprox( int nParentId, int nSouId, BOOL bArcsVsLines, double dLinTol) ; EIN_EXPORT int __stdcall EgtCreateRectangle3P( int nParentId, const double ptIni[3], const double ptCross[3], const double ptDir[3], int nRefType) ; @@ -252,9 +253,9 @@ EIN_EXPORT int __stdcall EgtGetLastSelectedObj( void) ; EIN_EXPORT int __stdcall EgtGetPrevSelectedObj( void) ; // GeomDB Modify -EIN_EXPORT BOOL __stdcall EgtChangeGroupFrame( int nId, - double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ; -EIN_EXPORT BOOL __stdcall EgtChangeVectorBase( int nId, const double ptB[3]) ; +EIN_EXPORT BOOL __stdcall EgtChangeGroupFrame( int nId, double ptOrig[3], + double vtX[3], double vtY[3], double vtZ[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtChangeVectorBase( int nId, const double ptB[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtInvertSurface( int nId) ; EIN_EXPORT BOOL __stdcall EgtModifyText( int nId, const wchar_t* wsNewText) ; EIN_EXPORT BOOL __stdcall EgtChangeTextFont( int nId, const wchar_t* wsNewFont) ; @@ -265,10 +266,9 @@ EIN_EXPORT BOOL __stdcall EgtSplitText( int nId) ; // GeomDb CurveModif EIN_EXPORT BOOL __stdcall EgtInvertCurve( int nId) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveStartPoint( int nId, const double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveEndPoint( int nId, const double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveExtrusion( int nId, const double vtExtr[3]) ; -EIN_EXPORT BOOL __stdcall EgtSetCurveExtrusionFromGrid( int nId) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveStartPoint( int nId, const double ptP[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveEndPoint( int nId, const double ptP[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveExtrusion( int nId, const double vtExtr[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyCurveThickness( int nId, double dThick) ; EIN_EXPORT BOOL __stdcall EgtTrimCurveStartAtLen( int nId, double dLen) ; EIN_EXPORT BOOL __stdcall EgtTrimCurveEndAtLen( int nId, double dLen) ; @@ -277,67 +277,59 @@ EIN_EXPORT BOOL __stdcall EgtTrimCurveEndAtParam( int nId, double dPar) ; EIN_EXPORT BOOL __stdcall EgtTrimCurveStartEndAtParam( int nId, double dParS, double dParE) ; EIN_EXPORT BOOL __stdcall EgtExtendCurveStartByLen( int nId, double dLen) ; EIN_EXPORT BOOL __stdcall EgtExtendCurveEndByLen( int nId, double dLen) ; -EIN_EXPORT BOOL __stdcall EgtTrimExtendCurveByLen( int nId, double dLen, const double ptNear[3]) ; -EIN_EXPORT BOOL __stdcall EgtSplitCurveAtPoint( int nId, double ptOn[3]) ; +EIN_EXPORT BOOL __stdcall EgtTrimExtendCurveByLen( int nId, double dLen, const double ptNear[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtSplitCurveAtPoint( int nId, double ptOn[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtOffsetCurve( int nId, double dDist, int nType) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveCircleCPN( int nId, const double ptOn[3]) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveCircleCPN( int nId, const double ptOn[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtModifyCurveArcRadius( int nId, double dRad) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveArcC2PN( int nId, const double ptEnd[3]) ; -EIN_EXPORT BOOL __stdcall EgtModifyCurveArc3P( int nId, const double ptMid[3]) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveArcC2PN( int nId, const double ptEnd[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtModifyCurveArc3P( int nId, const double ptMid[3], int nRefType) ; EIN_EXPORT BOOL __stdcall EgtExplodeCurveCompo( int nId) ; -EIN_EXPORT BOOL __stdcall EgtExplodeCurveBezier( int nId, double dLinTol, BOOL bArcsVsLines) ; +EIN_EXPORT BOOL __stdcall EgtExplodeCurveBezier( int nId, BOOL bArcsVsLines, double dLinTol) ; // Geo Snap Vector/Point/Frame -EIN_EXPORT BOOL __stdcall EgtStartPoint( int nId, double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtEndPoint( int nId, double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtMidPoint( int nId, double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtCenterPoint( int nId, double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtAtParamPoint( int nId, double dU, double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtNearPoint( int nId, const double ptNear[3], double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtIntersectionPoint( int nId1, int nId2, const double ptNear[3], double ptP[3]) ; -EIN_EXPORT BOOL __stdcall EgtStartVector( int nId, double vtV[3]) ; -EIN_EXPORT BOOL __stdcall EgtEndVector( int nId, double vtV[3]) ; -EIN_EXPORT BOOL __stdcall EgtMidVector( int nId, double vtV[3]) ; -EIN_EXPORT BOOL __stdcall EgtAtParamVector( int nId, double dU, int nSide, double vtV[3]) ; -EIN_EXPORT BOOL __stdcall EgtFrame( int nId, double ptOrig[3], +EIN_EXPORT BOOL __stdcall EgtStartPoint( int nId, int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtEndPoint( int nId, int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtMidPoint( int nId, int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtCenterPoint( int nId, int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtAtParamPoint( int nId, double dU, int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtNearPoint( int nId, const double ptNear[3], int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtIntersectionPoint( int nId1, int nId2, const double ptNear[3], int nRefId, double ptP[3]) ; +EIN_EXPORT BOOL __stdcall EgtStartVector( int nId, int nRefId, double vtV[3]) ; +EIN_EXPORT BOOL __stdcall EgtEndVector( int nId, int nRefId, double vtV[3]) ; +EIN_EXPORT BOOL __stdcall EgtMidVector( int nId, int nRefId, double vtV[3]) ; +EIN_EXPORT BOOL __stdcall EgtAtParamVector( int nId, double dU, int nSide, int nRefId, double vtV[3]) ; +EIN_EXPORT BOOL __stdcall EgtFrame( int nId, int nRefId, double ptOrig[3], double vtX[3], double vtY[3], double vtZ[3]) ; EIN_EXPORT BOOL __stdcall EgtCurveLength( int nId, double* pdLen) ; EIN_EXPORT BOOL __stdcall EgtCurveLengthAtPoint( int nId, double ptOn[3], double* pdLen) ; -EIN_EXPORT BOOL __stdcall EgtCurveExtrusion( int nId, double vtExtr[3]) ; +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 EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist) ; EIN_EXPORT BOOL __stdcall EgtGetMinDistPntSidePointCurve( const double ptP[3], int nId, double vtN[3], double* pdDist, double ptMin[3], int* pnSide) ; -EIN_EXPORT BOOL __stdcall EgtCurveArcNormVersor( int nId, double vtNorm[3]) ; -EIN_EXPORT BOOL __stdcall EgtExtTextNormVersor( int nId, double vtNorm[3]) ; +EIN_EXPORT BOOL __stdcall EgtCurveArcNormVersor( int nId, int nRefId, double vtNorm[3]) ; +EIN_EXPORT BOOL __stdcall EgtExtTextNormVersor( int nId, int nRefId, double vtNorm[3]) ; EIN_EXPORT BOOL __stdcall EgtPointToIdGlob( double ptP[3], int nId) ; EIN_EXPORT BOOL __stdcall EgtPointToIdLoc( double ptP[3], int nId) ; EIN_EXPORT BOOL __stdcall EgtVectorToIdGlob( double vtV[3], int nId) ; EIN_EXPORT BOOL __stdcall EgtVectorToIdLoc( double vtV[3], int nId) ; // Geo Transform -EIN_EXPORT BOOL __stdcall EgtMove( int nId, double vVtMove[3]) ; -EIN_EXPORT BOOL __stdcall EgtMoveGlob( int nId, double vVtMove[3]) ; -EIN_EXPORT BOOL __stdcall EgtMoveGroup( int nId, double vVtMove[3]) ; -EIN_EXPORT BOOL __stdcall EgtRotate( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg) ; -EIN_EXPORT BOOL __stdcall EgtRotateGlob( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg) ; -EIN_EXPORT BOOL __stdcall EgtRotateGroup( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg) ; +EIN_EXPORT BOOL __stdcall EgtMove( int nId, double vVtMove[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtRotate( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg, int nRefType) ; EIN_EXPORT BOOL __stdcall EgtScale( int nId, const double vOrig[3], const double vX[3], const double vY[3], const double vZ[3], - double dCoeffX, double dCoeffY, double dCoeffZ) ; -EIN_EXPORT BOOL __stdcall EgtScaleGlob( int nId, const double vOrig[3], - const double vX[3], const double vY[3], const double vZ[3], - double dCoeffX, double dCoeffY, double dCoeffZ) ; + double dCoeffX, double dCoeffY, double dCoeffZ, int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtMirror( int nId, const double vPnt[3], const double vN[3], int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtShear( int nId, const double vPnt[3], const double vN[3], + const double vDir[3], double dCoeff, int nRefType) ; +EIN_EXPORT BOOL __stdcall EgtMoveGroup( int nId, double vVtMove[3]) ; +EIN_EXPORT BOOL __stdcall EgtRotateGroup( int nId, double vPtAx[3], double vVtAx[3], double dAngRotDeg) ; EIN_EXPORT BOOL __stdcall EgtScaleGroup( int nId, const double vOrig[3], const double vX[3], const double vY[3], const double vZ[3], double dCoeffX, double dCoeffY, double dCoeffZ) ; -EIN_EXPORT BOOL __stdcall EgtMirror( int nId, const double vPnt[3], const double vN[3]) ; -EIN_EXPORT BOOL __stdcall EgtMirrorGlob( int nId, const double vPnt[3], const double vN[3]) ; EIN_EXPORT BOOL __stdcall EgtMirrorGroup( int nId, const double vPnt[3], const double vN[3]) ; -EIN_EXPORT BOOL __stdcall EgtShear( int nId, const double vPnt[3], const double vN[3], - const double vDir[3], double dCoeff) ; -EIN_EXPORT BOOL __stdcall EgtShearGlob( int nId, const double vPnt[3], const double vN[3], - const double vDir[3], double dCoeff) ; EIN_EXPORT BOOL __stdcall EgtShearGroup( int nId, const double vPnt[3], const double vN[3], const double vDir[3], double dCoeff) ; diff --git a/EgkVolZmap.h b/EgkVolZmap.h new file mode 100644 index 0000000..9e15003 --- /dev/null +++ b/EgkVolZmap.h @@ -0,0 +1,40 @@ +//---------------------------------------------------------------------------- +// EgalTech 2015-2015 +//---------------------------------------------------------------------------- +// File : EgkVolZmap.h Data : 22.01.15 Versione : 1.6a4 +// Contenuto : Dichiarazione della interfaccia IVolZmap. +// +// +// +// Modifiche : 22.01.15 DS Creazione modulo. +// +// +//---------------------------------------------------------------------------- + +#pragma once + +#include "/EgtDev/Include/EGkGeoObj.h" + + +//---------------------------------------------------------------------------- +class __declspec( novtable) IVolZmap : public IGeoObj +{ + public : + virtual bool CopyFrom( const IGeoObj* pGObjSrc) = 0 ; +} ; + +//----------------------------------------------------------------------------- +inline IVolZmap* CreateVolZmap( void) + { return (static_cast( CreateGeoObj( VOL_ZMAP))) ; } +inline IVolZmap* CloneVolZmap( const IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP) + return nullptr ; + return (static_cast(pGObj->Clone())) ; } +inline const IVolZmap* GetVolZmap( const IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP) + return nullptr ; + return (static_cast(pGObj)) ; } +inline IVolZmap* GetVolZmap( IGeoObj* pGObj) + { if ( pGObj == nullptr || pGObj->GetType() != VOL_ZMAP) + return nullptr ; + return (static_cast(pGObj)) ; }