EgtGeomKernel :

- aggiunta funzione FromNearestHorizontalOrtho per Vector3d.
This commit is contained in:
DarioS
2022-04-22 08:53:06 +02:00
parent b107596f84
commit 7b6f1c3e92
+20
View File
@@ -65,6 +65,26 @@ FromUprightOrtho( const Vector3d& vtV)
return ( vtV ^ vtAx) ;
}
//----------------------------------------------------------------------------
// Definizione dall'ortogonale al primo ricevuto, orizzontale e più vicino al secondo
//----------------------------------------------------------------------------
Vector3d
FromNearestHorizontalOrtho( const Vector3d& vtV, const Vector3d& vtNear)
{
// se vettore nullo o coincidente con asse Z, imposto asse orizzontale più vicino a Near
if ( vtV.IsZero() || vtV.IsZplus() || vtV.IsZminus()) {
Vector3d vtHor( vtNear.x, vtNear.y, 0) ;
if ( vtHor.Normalize( EPS_ZERO))
return vtHor ;
else
return X_AX ;
}
// caso generico
Vector3d vtHor = vtV ^ Z_AX ;
vtHor.Normalize( EPS_ZERO) ;
return ( vtHor * vtNear >= 0 ? vtHor : -vtHor) ;
}
//----------------------------------------------------------------------------
// Lunghezza del vettore
//----------------------------------------------------------------------------