diff --git a/EGkVector3d.h b/EGkVector3d.h index cc97a64..78157eb 100644 --- a/EGkVector3d.h +++ b/EGkVector3d.h @@ -45,7 +45,7 @@ class EGK_EXPORT Vector3d void Set( double dX, double dY, double dZ) { x = dX ; y = dY ; z = dZ ; } public : - //! Verifica la validità delle coordinate del vettore + //! Verifica la validità delle coordinate del vettore bool IsValid( void) const { return ( std::isfinite( x) && std::isfinite( y) && std::isfinite( z)) ; } //! Quadrato della lunghezza del vettore @@ -58,70 +58,70 @@ class EGK_EXPORT Vector3d { return ( x * x + y * y ) ; } //! Lunghezza del vettore nel piano XY double LenXY( void) const ; - //! Verifica se il vettore è quasi nullo + //! Verifica se il vettore è quasi nullo bool IsSmall( void) const { return ( ( x * x + y * y + z * z) < SQ_EPS_SMALL) ; } - //! Verifica se il vettore è esattamente nullo + //! Verifica se il vettore è esattamente nullo bool IsZero( void) const { return ( ( x * x + y * y + z * z) < SQ_EPS_ZERO) ; } - //! Verifica se il vettore è quasi nullo nel piano XY + //! Verifica se il vettore è quasi nullo nel piano XY bool IsSmallXY( void) const { return ( ( x * x + y * y) < SQ_EPS_SMALL) ; } - //! Verifica se il vettore è esattamente nullo nel piano XY + //! Verifica se il vettore è esattamente nullo nel piano XY bool IsZeroXY( void) const { return ( ( x * x + y * y) < SQ_EPS_ZERO) ; } - //! Verifica se il vettore è normalizzato (è un versore) + //! Verifica se il vettore è normalizzato (è un versore) bool IsNormalized( void) const { return ( abs( 1.0 - (x * x + y * y + z * z)) < ( 2 * EPS_ZERO)) ; } - //! Verifica se il vettore è parallelo ed equiverso con X+ + //! Verifica se il vettore è parallelo ed equiverso con X+ bool IsXplus( void) const { double dMO = std::max( abs( y), abs( z)) ; return ( x > EPS_ZERO && dMO < 10 * EPS_ZERO && x > KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo ed equiverso con X- + //! Verifica se il vettore è parallelo ed equiverso con X- bool IsXminus( void) const { double dMO = std::max( abs( y), abs( z)) ; return ( x < -EPS_ZERO && dMO < 10 * EPS_ZERO && x < -KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo a X + //! Verifica se il vettore è parallelo a X bool IsX( void) const { double dMO = std::max( abs( y), abs( z)) ; return ( abs( x) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( x) > KV_BIG * dMO) ; } - //! Verifica se il vettore è circa parallelo a x - bool IsXEpsilon( double dToll) const + //! Verifica se il vettore è circa parallelo a x + bool IsXEpsilon( double dToler) const { double dMO = std::max( abs( y), abs( z)) ; - return ( abs( x) > dToll && dMO < 10 * dToll && abs( x) > KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo ed equiverso con Y+ + return ( abs( x) > dToler && dMO < 10 * dToler && abs( x) > KV_BIG * dMO) ; } + //! Verifica se il vettore è parallelo ed equiverso con Y+ bool IsYplus( void) const { double dMO = std::max( abs( z), abs( x)) ; return ( y > EPS_ZERO && dMO < 10 * EPS_ZERO && y > KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo ed equiverso con Y- + //! Verifica se il vettore è parallelo ed equiverso con Y- bool IsYminus( void) const { double dMO = std::max( abs( z), abs( x)) ; return ( y < -EPS_ZERO && dMO < 10 * EPS_ZERO && y < -KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo a Y + //! Verifica se il vettore è parallelo a Y bool IsY( void) const { double dMO = std::max( abs( z), abs( x)) ; return ( abs( y) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( y) > KV_BIG * dMO) ; } - //! Verifica se il vettore è circa parallelo a y - bool IsYEpsilon( double dToll) const + //! Verifica se il vettore è circa parallelo a y + bool IsYEpsilon( double dToler) const { double dMO = std::max( abs( z), abs( x)) ; - return ( abs( y) > dToll && dMO < 10 * dToll && abs( y) > KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo ed equiverso con Z+ + return ( abs( y) > dToler && dMO < 10 * dToler && abs( y) > KV_BIG * dMO) ; } + //! Verifica se il vettore è parallelo ed equiverso con Z+ bool IsZplus( void) const { double dMO = std::max( abs( x), abs( y)) ; return ( z > EPS_ZERO && dMO < 10 * EPS_ZERO && z > KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo ed equiverso con Z- + //! Verifica se il vettore è parallelo ed equiverso con Z- bool IsZminus( void) const { double dMO = std::max( abs( x), abs( y)) ; return ( z < -EPS_ZERO && dMO < 10 * EPS_ZERO && z < -KV_BIG * dMO) ; } - //! Verifica se il vettore è parallelo a Z + //! Verifica se il vettore è parallelo a Z bool IsZ( void) const { double dMO = std::max( abs( x), abs( y)) ; return ( abs( z) > EPS_ZERO && dMO < 10 * EPS_ZERO && abs( z) > KV_BIG * dMO) ; } - //! Verifica se il vettore è circa parallelo a Z - bool IsZEpsilon( double dToll) const + //! Verifica se il vettore è circa parallelo a Z + bool IsZEpsilon( double dToler) const { double dMO = std::max( abs( x), abs( y)) ; - return ( abs( z) > dToll && dMO < 10 * dToll && abs( z) > KV_BIG * dMO) ; } - //! Verifica se il vettore è generico + return ( abs( z) > dToler && dMO < 10 * dToler && abs( z) > KV_BIG * dMO) ; } + //! Verifica se il vettore è generico bool IsGeneric( void) const { return ( ! IsX() && ! IsY() && ! IsZ()) ; } //! Somma sul posto con altro vettore @@ -205,12 +205,12 @@ EGK_EXPORT Vector3d FromSpherical( double dLen, double dAngVertDeg, double dAngO EGK_EXPORT Vector3d FromPolar( double dLen, double dAngDeg) ; //---------------------------------------------------------------------------- -//! Definizione come più verticale dei vettori ortogonali a quello ricevuto +//! Definizione come più verticale dei vettori ortogonali a quello ricevuto //---------------------------------------------------------------------------- EGK_EXPORT Vector3d FromUprightOrtho( const Vector3d& vtV) ; //---------------------------------------------------------------------------- -//! Definizione come ortogonale al primo ricevuto, orizzontale e più vicino al secondo +//! Definizione come ortogonale al primo ricevuto, orizzontale e più vicino al secondo //---------------------------------------------------------------------------- EGK_EXPORT Vector3d FromNearestHorizontalOrtho( const Vector3d& vtV, const Vector3d& vtNear) ;