EgtGeomKernel :
- correzione tool avanzato per collisioni in calcolo di Silhouette.
This commit is contained in:
@@ -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) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user