Include :
- nei vettori aggiunti confronti basati su tolleranza passata come parametro - aggiornamento prototipi.
This commit is contained in:
@@ -60,6 +60,10 @@ EGK_EXPORT bool NurbsCurveCanonicalize( CNurbsData& cnData) ;
|
||||
//! Trasforma una curva Nurbs standard in una nuova curva di Bezier semplice o composta
|
||||
EGK_EXPORT ICurve* NurbsToBezierCurve( const CNurbsData& cnData) ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Appiattisce la curva sul suo piano medio se rientra nelle tolleranze
|
||||
EGK_EXPORT ICurve* FlattenCurve( const ICurve& crCrv, double dToler, double dAngToler) ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Proietta la curva sul piano indicato
|
||||
EGK_EXPORT ICurve* ProjectCurveOnPlane( const ICurve& crCrv, const Plane3d& plPlane) ;
|
||||
|
||||
+31
-4
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2013-2014
|
||||
// EgalTech 2013-2019
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EgkVector3d.h Data : 30.05.14 Versione : 1.5e10
|
||||
// File : EgkVector3d.h Data : 14.12.19 Versione : 2.1l4
|
||||
// Contenuto : Dichiarazione della classe Vettore 3d.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 31.12.12 DS Creazione modulo.
|
||||
//
|
||||
// Modifiche : 31.12.13 DS Creazione modulo.
|
||||
// 14.12.19 DS Aggiunti confronti con Epsilon.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -276,6 +276,15 @@ Media( const Vector3d& vtV1, const Vector3d& vtV2, double dCoeff)
|
||||
( 1 - dCoeff) * vtV1.z + dCoeff * vtV2.z)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi coincidenti (tolleranza come parametro)
|
||||
//----------------------------------------------------------------------------
|
||||
inline bool
|
||||
AreSameVectorEpsilon( const Vector3d& vtV1, const Vector3d& vtV2, double dToler)
|
||||
{
|
||||
return ( ( vtV1 - vtV2).SqLen() < ( dToler * dToler)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi coincidenti (Small error -> Approx)
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -294,6 +303,15 @@ AreSameVectorExact( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
return ( ( vtV1 - vtV2).IsZero()) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi opposti (tolleranza come parametro)
|
||||
//----------------------------------------------------------------------------
|
||||
inline bool
|
||||
AreOppositeVectorEpsilon( const Vector3d& vtV1, const Vector3d& vtV2, double dToler)
|
||||
{
|
||||
return ( ( vtV1 + vtV2).SqLen() < ( dToler * dToler)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi opposti (Small error -> Approx)
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -312,6 +330,15 @@ AreOppositeVectorExact( const Vector3d& vtV1, const Vector3d& vtV2)
|
||||
return ( ( vtV1 + vtV2).IsZero()) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi coincidenti o opposti (tolleranza come parametro)
|
||||
//----------------------------------------------------------------------------
|
||||
inline bool
|
||||
AreSameOrOppositeVectorEpsilon( const Vector3d& vtV1, const Vector3d& vtV2, double dToler)
|
||||
{
|
||||
return ( ( vtV1 - vtV2).SqLen() < ( dToler * dToler) || ( vtV1 + vtV2).SqLen() < ( dToler * dToler)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! Verifica se due vettori sono quasi coincidenti o opposti (Small error -> Approx)
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user