EgtGeomKernel :

- correzione tool avanzato per collisioni in calcolo di Silhouette.
This commit is contained in:
Riccardo Elitropi
2025-01-24 17:07:23 +01:00
parent b709776f5f
commit e4ee403d24
+6 -6
View File
@@ -1218,19 +1218,19 @@ CAvParSilhouettesSurfTm::PrepareForRegion( void)
if ( m_dSideAng < EPS_ANG_SMALL)
m_cavTstm.SetStdTool( m_dDimZ + m_dOffsR, m_dRad + m_dOffsR, m_dCornRad + m_dOffsR) ;
else {
double dDelta ;
double dDeltaRad ;
double dSideAngRad = m_dSideAng * DEGTORAD ;
if ( m_dSideAng > 0) {
if ( m_dCornRad < EPS_SMALL)
dDelta = 2 * m_dMaxMat * tan( dSideAngRad) ;
dDeltaRad = m_dMaxMat * tan( dSideAngRad) ;
else
dDelta = 2 * ( m_dCornRad * cos( dSideAngRad) +
( m_dMaxMat + m_dCornRad * ( sin( dSideAngRad) - 1)) * tan( dSideAngRad)) ;
dDeltaRad = ( m_dCornRad * cos( dSideAngRad) +
( m_dMaxMat + m_dCornRad * ( sin( dSideAngRad) - 1)) * tan( dSideAngRad)) ;
}
else
dDelta = 2 * tan( dSideAngRad) * m_dMaxMat ;
dDeltaRad = tan( dSideAngRad) * m_dMaxMat ;
double dStemRad = m_dRad + dDelta ;
double dStemRad = m_dRad + dDeltaRad ;
double dTipRad = m_dRad ;
m_cavTstm.SetAdvTool( m_dDimZ + m_dOffsR, dStemRad + m_dOffsR, m_dMaxMat, dTipRad + m_dOffsR, m_dCornRad + m_dOffsR) ;
}