EgtGeomKernel 1.5f7 :

- aggiunta intersezione tra curve composte (e gestione loro topologia)
- corretto salvataggio entità testo
- aggiunto EPS_SMALL a test su box
- aggiunte funzioni di verifica validità e tipo parametro di curve
- aggiunto comando TSC OUTTEXTICCI.
This commit is contained in:
Dario Sassi
2014-07-01 12:30:16 +00:00
parent f119a5a1be
commit 15f819fe31
30 changed files with 1410 additions and 385 deletions
+28 -3
View File
@@ -45,7 +45,7 @@ Vector3d::FromPolar( double dLen, double dAngDeg)
}
//----------------------------------------------------------------------------
// Lunghezza di un vettore
// Lunghezza del vettore
//----------------------------------------------------------------------------
double
Vector3d::Len( void) const
@@ -61,7 +61,7 @@ Vector3d::Len( void) const
}
//----------------------------------------------------------------------------
// Lunghezza di un vettore nel piano XY
// Lunghezza del vettore nel piano XY
//----------------------------------------------------------------------------
double
Vector3d::LenXY( void) const
@@ -155,7 +155,7 @@ Vector3d::Rotate( const Vector3d& vtAx, double dAngDeg)
}
//----------------------------------------------------------------------------
// Rotazione
// Rotazione da coseno e seno dell'angolo di rotazione
//----------------------------------------------------------------------------
bool
Vector3d::Rotate( const Vector3d& vtAx, double dCosAng, double dSinAng)
@@ -373,6 +373,31 @@ Vector3d::GetAngle( const Vector3d& vtEnd, double& dAngDeg) const
return true ;
}
//----------------------------------------------------------------------------
// Calcolo dell'angolo tra il vettore e un altro nel piano XY
//----------------------------------------------------------------------------
bool
Vector3d::GetAngleXY( const Vector3d& vtEnd, double& dAngDeg) const
{
double dProSca ;
double dProVett ;
// quantità ugualmente proporzionali a coseno e seno
dProSca = ScalarXY( *this, vtEnd) ;
dProVett = CrossXY( *this, vtEnd) ;
// se entrambe nulle
if ( fabs( dProSca) < EPS_ZERO && fabs( dProVett) < EPS_ZERO) {
dAngDeg = 0 ;
return false ;
}
dAngDeg = atan2( dProVett, dProSca) * RADTODEG ;
return true ;
}
//----------------------------------------------------------------------------
// Calcolo angolo di rotazione per portare la componente del vettore perpendicolare
// all'asse di rotazione sulla stessa direzione della componente perpendicolare di vtEnd