Include :

- aggiunta PolyArc
- aggiornamenti interfacce.
This commit is contained in:
Dario Sassi
2014-08-15 17:37:30 +00:00
parent 278594d35a
commit 91aea43f5e
5 changed files with 99 additions and 11 deletions
+20 -6
View File
@@ -38,16 +38,12 @@ class EGK_EXPORT Vector3d
//! Costruttore del vettore nullo X = Y = Z = 0
Vector3d( void) : x( 0), y( 0), z( 0) {}
//! Assegnazione delle componenti X, Y e Z al vettore
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ;}
void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ; }
//! Copia
const Vector3d& operator =( const Vector3d& vtSrc)
{ if ( &vtSrc != this) {
x = vtSrc.x , y = vtSrc.y , z = vtSrc.z ; }
return *this ; }
//! Definizione a partire da coordinate sferiche
void FromSpherical( double dLen, double dAngVertDeg, double dAngOrizzDeg) ;
//! Definizione a partire da coordinate polari
void FromPolar( double dLen, double dAngDeg) ;
public :
//! Quadrato della lunghezza del vettore
@@ -101,7 +97,10 @@ class EGK_EXPORT Vector3d
{ double dMul = 1 / dDiv ; this->x *= dMul ; this->y *= dMul ; this->z *= dMul ; return *this ; }
//! Ritorna la rappresentazione in coordinate sferiche
void ToSpherical( double* pdLen, double* pdAngVertDeg, double* pdAngOrizzDeg) const ;
//! Normalizzazione di un vettore (trasformazione in versore)
//! Inversione del vettore
void Invert( void)
{ x = - x ; y = - y ; z = - z ; }
//! Normalizzazione del vettore (trasformazione in versore)
bool Normalize( double dEps = EPS_SMALL) ;
//! Rotazione attorno ad un asse, dato l'angolo in gradi
bool Rotate( const Vector3d& vtAx, double dAngDeg) ;
@@ -150,6 +149,21 @@ const Vector3d Y_AX( 0, 1, 0) ;
//! Versore asse Z
const Vector3d Z_AX( 0, 0, 1) ;
//----------------------------------------------------------------------------
//! Definizione a partire da coordinate sferiche
//----------------------------------------------------------------------------
EGK_EXPORT Vector3d FromSpherical( double dLen, double dAngVertDeg, double dAngOrizzDeg) ;
//----------------------------------------------------------------------------
//! Definizione a partire da coordinate polari ( nel piano XY, Z = 0)
//----------------------------------------------------------------------------
EGK_EXPORT Vector3d FromPolar( double dLen, double dAngDeg) ;
//----------------------------------------------------------------------------
//! Definizione come più verticale dei vettori ortogonali a quello ricevuto
//----------------------------------------------------------------------------
EGK_EXPORT Vector3d FromUprightOrtho( const Vector3d& vtV) ;
//----------------------------------------------------------------------------
//! Opposto di un vettore
//----------------------------------------------------------------------------