diff --git a/EGkVolZmap.h b/EGkVolZmap.h index 2c69967..22d7755 100644 --- a/EGkVolZmap.h +++ b/EGkVolZmap.h @@ -35,7 +35,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj 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, TRIA3DEXLISTVECTOR& vLstTria) const ; + virtual bool GetTriangles( bool bAllBlocks, INTVECTOR& nModifiedBlocks, TRIA3DEXLISTVECTOR& vLstTria) const = 0 ; virtual bool GetDexelLines( int nDir, int nPos1, int nPos2, POLYLINELIST& lstPL) const = 0 ; virtual bool SetTolerances( double dLinTol, double dAngTolDeg = 90) = 0 ; virtual bool SetStdTool( const std::string& sToolName, double dH, double dR, double dCornR, int nFlag) = 0 ; @@ -57,6 +57,8 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool AvoidCylinder( const Frame3d& frCyl, double dL, double dR) const = 0 ; virtual IVolZmap* ClonePart( int nPart) const = 0 ; virtual bool RemovePart( int nPart) = 0 ; + virtual bool Cut( const Plane3d& plPlane) = 0 ; + virtual bool Compact( void) = 0 ; } ; //----------------------------------------------------------------------------- diff --git a/EXeExecutor.h b/EXeExecutor.h index f85f41f..f28170f 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -501,6 +501,7 @@ EXE_EXPORT bool ExeVolZmapGetDepth( int nId, const Point3d& ptP, const Vector3d& double& dInLen, double& dOutLen) ; EXE_EXPORT bool ExeVolZmapAvoidBox( int nId, const Frame3d& frBox, const Vector3d& vtDiag, int nRefType) ; EXE_EXPORT bool ExeVolZmapAvoidSphere( int nId, const Point3d& ptCen, double dRad, int nRefType) ; +EXE_EXPORT bool ExeCutVolZmapPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ; // Geo Snap Vector/Point/Frame EXE_EXPORT bool ExeStartPoint( int nId, int nRefId, Point3d& ptP) ;