EgtGeomKernel 1.6b2 :
- aggiunta funzione di inerti poliarco - roportate in executor migliorie su costruzione superfici trimesh.
This commit is contained in:
+28
@@ -475,3 +475,31 @@ PolyArc::IsFlat( int& nRank, Point3d& ptCen, Vector3d& vtDir, double dToler) con
|
||||
|
||||
return ( nRank == 0 || nRank == 2) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
PolyArc::Invert( bool bInvertU)
|
||||
{
|
||||
// verifico non sia vuota
|
||||
if ( m_lUPointBs.empty())
|
||||
return true ;
|
||||
// inverto la lista
|
||||
m_lUPointBs.reverse() ;
|
||||
// sposto il bulge all'estremo iniziale di ogni tratto (l'ultimo non conta)
|
||||
for ( UPNTBLIST::iterator iter = m_lUPointBs.begin() ; iter != m_lUPointBs.end() ; ++ iter) {
|
||||
if ( next( iter) != m_lUPointBs.end())
|
||||
iter->dB = next( iter)->dB ;
|
||||
else
|
||||
iter->dB = 0 ;
|
||||
}
|
||||
// se richiesto, inverto anche il parametro U
|
||||
if ( bInvertU) {
|
||||
// recupero il primo valore di U che è il vecchio finale ed è il riferimento di inversione
|
||||
double dUfin = m_lUPointBs.front().dU ;
|
||||
// ciclo su tutti gli elementi
|
||||
for ( UPNTBLIST::iterator iter = m_lUPointBs.begin() ; iter != m_lUPointBs.end() ; ++ iter) {
|
||||
iter->dU = dUfin - iter->dU ;
|
||||
}
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
Reference in New Issue
Block a user