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:
+28
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user