diff --git a/EGkTriangle3d.h b/EGkTriangle3d.h index fe4de26..c1b8f81 100644 --- a/EGkTriangle3d.h +++ b/EGkTriangle3d.h @@ -49,7 +49,7 @@ class Triangle3d { if ( AreSamePointApprox( m_ptP[0], m_ptP[1]) || AreSamePointApprox( m_ptP[0], m_ptP[2])) return false ; Vector3d vtV = ( m_ptP[1] - m_ptP[0]) ^ ( m_ptP[2] - m_ptP[0]) ; - vtV.Normalize() ; + vtV.Normalize( EPS_ZERO) ; if ( m_vtN.IsZero() || bOverwrite) { m_vtN = vtV ; return true ; @@ -60,7 +60,7 @@ class Triangle3d { if ( AreSamePointApprox( m_ptP[0], m_ptP[1]) || AreSamePointApprox( m_ptP[0], m_ptP[2])) return false ; Vector3d vtV = ( m_ptP[1] - m_ptP[0]) ^ ( m_ptP[2] - m_ptP[0]) ; - vtV.Normalize() ; + vtV.Normalize( EPS_ZERO) ; return AreSameVectorApprox( vtV, m_vtN) ; } void Translate( const Vector3d& vtMove) @@ -406,5 +406,5 @@ CalcNormal( const Point3d& ptP, const Triangle3d& Tria, const TriNormals3d& Tnor // calcolo la media vtNorm = dU * Tnorms.vtN[0] + dV * Tnorms.vtN[1] + dW * Tnorms.vtN[2] ; // la normalizzo - return vtNorm.Normalize() ; + return vtNorm.Normalize( EPS_ZERO) ; } diff --git a/EXeExecutor.h b/EXeExecutor.h index deac156..6d78e5f 100644 --- a/EXeExecutor.h +++ b/EXeExecutor.h @@ -481,6 +481,7 @@ EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ; EXE_EXPORT bool ExeVolZmapSetStdTool( int nId, const std::string& sToolName, double dLen, double dDiam, double dCornR, int nFlag) ; EXE_EXPORT bool ExeVolZmapSetAdvTool( int nId, const std::string& sToolName, double dLen, double dDiam, double dTipLen, double dTipDiam, double dCornR, int nFlag) ; +EXE_EXPORT bool ExeVolZmapSetGenTool( int nId, const std::string& sToolName, int nToolSectId, int nFlag) ; EXE_EXPORT bool ExeVolZmapSetMortiserTool( int nId, const std::string& sToolName, double dLen, double dWidth, double dThick, double dCornR, int nFlag) ; EXE_EXPORT bool ExeVolZmapSetChiselTool( int nId, const std::string& sToolName,