From 8ed290f667202335f6509ca4eecf0abee9838ea5 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 23 Dec 2019 14:57:37 +0000 Subject: [PATCH] EgtGeomKernel : - migliorati controlli in alcune funzioni di vector3d. --- Vector3d.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Vector3d.cpp b/Vector3d.cpp index 432ac05..3aa5a8b 100644 --- a/Vector3d.cpp +++ b/Vector3d.cpp @@ -397,6 +397,12 @@ Vector3d::LocToLoc( const Frame3d& frOri, const Frame3d& frDest) bool Vector3d::GetAngle( const Vector3d& vtEnd, double& dAngDeg) const { + // verifico vettori + if ( IsZero() || vtEnd.IsZero()) { + dAngDeg = 0 ; + return false ; + } + // quantità ugualmente proporzionali a coseno e seno double dProSca = *this * vtEnd ; double dProVett = ( *this ^ vtEnd).Len() ; @@ -418,6 +424,12 @@ Vector3d::GetAngle( const Vector3d& vtEnd, double& dAngDeg) const bool Vector3d::GetAngleXY( const Vector3d& vtEnd, double& dAngDeg) const { + // verifico vettori + if ( IsZeroXY() || vtEnd.IsZeroXY()) { + dAngDeg = 0 ; + return false ; + } + // quantità ugualmente proporzionali a coseno e seno double dProSca = ScalarXY( *this, vtEnd) ; double dProVett = CrossXY( *this, vtEnd) ;