EgtGeomKernel :
- aggiunta funzione FromNearestHorizontalOrtho per Vector3d.
This commit is contained in:
@@ -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
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user