Include :
- Aggiunta gestione Offset Thickening per superfici TriMesh - Aggiunta gestione Offset Chamfer ed Extend.
This commit is contained in:
@@ -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)) ;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// Costanti per offset
|
||||
static int STMOFF_FILLET = 0 ;
|
||||
static int STMOFF_CHAMFER = 1 ;
|
||||
static int STMOFF_EXTEND = 2 ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user