EgtMachKernel :

- migliorie su approcci eretrazioni di fresature con lame.
This commit is contained in:
DarioS
2022-04-22 08:53:59 +02:00
parent 6bb714e581
commit dc0b055480
3 changed files with 78 additions and 48 deletions
+10 -4
View File
@@ -168,7 +168,7 @@ Operation::GetElevation( int nPhase, const Point3d& ptP,
// verifico che il grezzo compaia nella fase
if ( m_pMchMgr->VerifyRawPartPhase( nRawId, nPhase)) {
// intersezione del raggio dal punto alla trimesh del grezzo
const double RAY_LEN = 10000 ;
const double RAY_LEN = 100000 ;
int nStmId = m_pGeomDB->GetFirstNameInGroup( nRawId, MACH_RAW_SOLID) ;
ISurfTriMesh* pStm = GetSurfTriMesh( m_pGeomDB->GetGeoObj( nStmId)) ;
if ( pStm != nullptr) {
@@ -197,9 +197,15 @@ Operation::GetElevation( int nPhase, const Point3d& ptP,
else if ( Info.dCosDN > - COS_ORTO_ANG_ZERO) {
dElev = min( dElev, Info.dU) ;
}
// se altrimenti è la prima, distante ed entra, salto tutto
else if ( i == 0 && Info.dU > MAX_DIST_RAW && Info.dCosDN < - COS_ORTO_ANG_ZERO)
break ;
// se altrimenti è la prima ed entra
else if ( i == 0 && Info.dCosDN < - COS_ORTO_ANG_ZERO) {
// se una sola o distante salto tutto
if ( vInfo.size() == 1 || Info.dU > ( dElev > INFINITO - 1 ? 0 : dElev) + MAX_DIST_RAW)
break ;
// altrimenti reset
else
dElev = INFINITO ;
}
}
}
}