diff --git a/EGkPlane3d.h b/EGkPlane3d.h index e0868a6..d377703 100644 --- a/EGkPlane3d.h +++ b/EGkPlane3d.h @@ -8,6 +8,7 @@ // // Modifiche : 08.04.14 DS Creazione modulo. // 25.02.15 DS Agg. PointInPlane*. +// 05.09.25 RE Agg. funzioni di confronto tra due piani // //---------------------------------------------------------------------------- @@ -154,3 +155,28 @@ PointInPlaneExact( const Point3d& ptP, const Plane3d& plPlane) { return ( abs( (( ptP - ORIG) * plPlane.GetVersN()) - plPlane.GetDist()) < EPS_ZERO) ; } + +//----------------------------------------------------------------------------- +inline bool +AreSamePlaneEpsilon( const Plane3d& plPlaneA, const Plane3d& plPlaneB, double dToler) +{ + return ( AreSameVectorEpsilon( plPlaneA.GetVersN(), plPlaneB.GetVersN(), dToler) && + PointInPlaneEpsilon( plPlaneA.GetPoint(), plPlaneB, dToler)) ; +} + +//----------------------------------------------------------------------------- +inline bool +AreSamePlaneApprox( const Plane3d& plPlaneA, const Plane3d& plPlaneB) +{ + return ( AreSameVectorApprox( plPlaneA.GetVersN(), plPlaneB.GetVersN()) && + PointInPlaneApprox( plPlaneA.GetPoint(), plPlaneB)) ; +} + +//----------------------------------------------------------------------------- +inline bool +AreSamePlaneExact( const Plane3d plPlaneA, const Plane3d& plPlaneB) +{ + return ( AreSameVectorExact( plPlaneA.GetVersN(), plPlaneB.GetVersN()) && + PointInPlaneExact( plPlaneA.GetPoint(), plPlaneB)) ; +} + diff --git a/EGkSurfTriMeshAux.h b/EGkSurfTriMeshAux.h index faa92a8..25ea565 100644 --- a/EGkSurfTriMeshAux.h +++ b/EGkSurfTriMeshAux.h @@ -18,6 +18,7 @@ //---------------------------------------------------------------------------- // Costanti per offset static int STMOFF_FILLET = 0 ; +static int STMOFF_CHAMFER = 1 ; static int STMOFF_EXTEND = 2 ; //---------------------------------------------------------------------------- diff --git a/EGkVolZmap.h b/EGkVolZmap.h index 08dcc9a..b158195 100644 --- a/EGkVolZmap.h +++ b/EGkVolZmap.h @@ -33,8 +33,6 @@ class __declspec( novtable) IVolZmap : public IGeoObj virtual bool CreateEmpty( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex) = 0 ; virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dStep, bool bTriDex) = 0 ; virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0.) = 0 ; - virtual bool CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = STMOFF_FILLET) = 0 ; - virtual bool CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = STMOFF_FILLET) = 0 ; virtual int GetBlockCount( void) const = 0 ; virtual int GetBlockUpdatingCounter( int nBlock) const = 0 ; virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;