diff --git a/EGkVolZmap.h b/EGkVolZmap.h index 2398951..b6ed2f3 100644 --- a/EGkVolZmap.h +++ b/EGkVolZmap.h @@ -32,7 +32,9 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dPrec, bool bTriDex) = 0 ; virtual bool GetAllTriangles( TRIA3DLIST& lstTria) const = 0 ; virtual int GetBlockCount( void) const = 0 ; + virtual bool GetVolume( double& dVol) const = 0 ; virtual int GetPartCount( void) const = 0 ; + virtual bool GetPartVolume( int nPart, double& dVol) const = 0 ; virtual bool GetTriangles( bool bAllBlocks, INTVECTOR& nModifiedBlocks, TRIA3DLISTVECTOR& vLstTria) const ; virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ; virtual bool SetTolerances( double dLinTol, double dAngTolDeg = 90) = 0 ; @@ -47,6 +49,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool GetDepth( const Point3d& ptP, const Vector3d& vtDir, double& dInLength, double& dOutLength) const = 0 ; virtual bool AvoidBox( const Frame3d& frBox, const Vector3d& vtDiag) const = 0 ; virtual IVolZmap* ClonePart( int nPart) const = 0 ; + virtual bool RemovePart( int nPart) = 0 ; } ; //----------------------------------------------------------------------------- diff --git a/EXeExecutor.h b/EXeExecutor.h index 91d93e3..af1c307 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -263,6 +263,7 @@ EXE_EXPORT int ExeCreateSurfTmByScrewing( int nParentId, int nCrvId, EXE_EXPORT int ExeCreateSurfTmRuled( int nParentId, int nPtOrCrvId1, int nPtOrCrvId2, double dLinTol) ; EXE_EXPORT int ExeCreateSurfTmByTriangles( int nParentId, const INTVECTOR& vIds, bool bErase) ; EXE_EXPORT int ExeCreateSurfTmBySewing( int nParentId, const INTVECTOR& vIds, bool bErase) ; +EXE_EXPORT int ExeCreateSurfTmByVolZmap( int nParentId, int nZmapId, int nPart) ; // GeomDB Create Volume EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX, @@ -470,6 +471,8 @@ EXE_EXPORT bool ExeCutSurfTm( int nId, const Point3d& ptOn, const Vector3d& vtN, // GeomDb Volume Modify EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ; +EXE_EXPORT int ExeCopyVolZmapPart( int nId, int nPart, int nDestGrpId) ; +EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ; EXE_EXPORT bool ExeVolZmapSetStdTool( int nId, const std::string& sToolName, double dLen, double dDiam, double dCornR) ; EXE_EXPORT bool ExeVolZmapSetAdvTool( int nId, const std::string& sToolName, double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR) ; @@ -520,6 +523,8 @@ EXE_EXPORT bool ExeArcAngCenter( int nId, double* pdAngDeg) ; EXE_EXPORT bool ExeArcDeltaN( int nId, double* pdDeltaN) ; EXE_EXPORT bool ExeArcNormVersor( int nId, int nRefId, Vector3d& vtNorm) ; EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d& ptCen) ; +EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ; +EXE_EXPORT bool ExeSurfVolume( int nId, double& dVol) ; EXE_EXPORT bool ExeSurfFrNormVersor( int nId, int nRefId, Vector3d& vtNorm) ; EXE_EXPORT int ExeSurfFrChunkCount( int nId) ; EXE_EXPORT int ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2) ; @@ -533,7 +538,9 @@ EXE_EXPORT bool ExeSurfTmFacetNearestMidPoint( int nId, int nFacet, const Point3 EXE_EXPORT bool ExeSurfTmFacetCenter( int nId, int nFacet, int nRefId, Point3d& ptCen, Vector3d& vtN) ; EXE_EXPORT bool ExeSurfTmFacetNormVersor( int nId, int nFacet, int nRefId, Vector3d& vtNorm) ; EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ; +EXE_EXPORT bool ExeVolZmapVolume( int nId, double& dVol) ; EXE_EXPORT int ExeVolZmapPartCount( int nId) ; +EXE_EXPORT bool ExeVolZmapPartVolume( int nId, int nPart, double& dVol) ; EXE_EXPORT bool ExeTextNormVersor( int nId, int nRefId, Vector3d& vtNorm) ; EXE_EXPORT bool ExeTextGetContent( int nId, std::string& sText) ; EXE_EXPORT bool ExePointToIdGlob( Point3d& ptP, int nId) ;