Include :

- aggiornamenti.
This commit is contained in:
Dario Sassi
2014-08-25 17:15:28 +00:00
parent 090c32ff54
commit 1c13f44bd5
3 changed files with 38 additions and 11 deletions
+15 -10
View File
@@ -56,26 +56,31 @@ class PolyLine
{ return m_nRejected ; }
EGK_EXPORT int GetPointNbr( void) const
{ return m_nCount ; }
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP) const ;
EGK_EXPORT bool GetFirstUPoint( double* pdPar, Point3d* pptP, bool bNotLast = false) const ;
EGK_EXPORT bool GetNextUPoint( double* pdPar, Point3d* pptP, bool bNotLast = false) const ;
EGK_EXPORT bool GetFirstU( double& dPar) const
{ return GetFirstUPoint( &dPar, nullptr) ; }
EGK_EXPORT bool GetFirstU( double& dPar, bool bNotLast = false) const
{ return GetFirstUPoint( &dPar, nullptr, bNotLast) ; }
EGK_EXPORT bool GetNextU( double& dPar, bool bNotLast = false) const
{ return GetNextUPoint( &dPar, nullptr, bNotLast) ; }
EGK_EXPORT bool GetFirstPoint( Point3d& ptP) const
{ return GetFirstUPoint( nullptr, &ptP) ; }
EGK_EXPORT bool GetFirstPoint( Point3d& ptP, bool bNotLast = false) const
{ return GetFirstUPoint( nullptr, &ptP, bNotLast) ; }
EGK_EXPORT bool GetNextPoint( Point3d& ptP, bool bNotLast = false) const
{ return GetNextUPoint( nullptr, &ptP, bNotLast) ; }
EGK_EXPORT bool GetLastUPoint( double* pdPar, Point3d* pptP) const ;
EGK_EXPORT bool GetLastUPoint( double* pdPar, Point3d* pptP, bool bNotFirst = false) const ;
EGK_EXPORT bool GetPrevUPoint( double* pdPar, Point3d* pptP, bool bNotFirst = false) const ;
EGK_EXPORT bool GetLastU( double& dPar) const
{ return GetLastUPoint( &dPar, nullptr) ; }
EGK_EXPORT bool GetLastU( double& dPar, bool bNotFirst = false) const
{ return GetLastUPoint( &dPar, nullptr, bNotFirst) ; }
EGK_EXPORT bool GetPrevU( double& dPar, bool bNotFirst = false) const
{ return GetPrevUPoint( &dPar, nullptr, bNotFirst) ; }
EGK_EXPORT bool GetLastPoint( Point3d& ptP) const
{ return GetLastUPoint( nullptr, &ptP) ; }
EGK_EXPORT bool GetLastPoint( Point3d& ptP, bool bNotFirst = false) const
{ return GetLastUPoint( nullptr, &ptP, bNotFirst) ; }
EGK_EXPORT bool GetPrevPoint( Point3d& ptP, bool bNotFirst = false) const
{ return GetPrevUPoint( nullptr, &ptP, bNotFirst) ; }
EGK_EXPORT bool GetCurrUPoint( double* pdPar, Point3d* pptP) const ;
EGK_EXPORT bool GetCurrU( double& dPar) const
{ return GetCurrUPoint( &dPar, nullptr) ; }
EGK_EXPORT bool GetCurrPoint( Point3d& ptP) const
{ return GetCurrUPoint( nullptr, &ptP) ; }
EGK_EXPORT int GetLineNbr( void) const
{ return ( m_nCount > 1 ? ( m_nCount - 1) : 0) ; }
EGK_EXPORT bool GetFirstULine( double* pdIni, Point3d* pptIni, double* pdFin, Point3d* pptFin) const ;
+19 -1
View File
@@ -298,7 +298,7 @@ AreOppositeVectorApprox( const Vector3d& vtV1, const Vector3d& vtV2)
}
//----------------------------------------------------------------------------
//! Verifica se due vettori sono esattamente coincidenti (Zero error -> Exact)
//! Verifica se due vettori sono esattamente opposti (Zero error -> Exact)
//----------------------------------------------------------------------------
inline bool
AreOppositeVectorExact( const Vector3d& vtV1, const Vector3d& vtV2)
@@ -306,6 +306,24 @@ AreOppositeVectorExact( const Vector3d& vtV1, const Vector3d& vtV2)
return ( ( vtV1 + vtV2).IsZero()) ;
}
//----------------------------------------------------------------------------
//! Verifica se due vettori sono quasi coincidenti o opposti (Zero error -> Exact)
//----------------------------------------------------------------------------
inline bool
AreSameOrOppositeVectorApprox( const Vector3d& vtV1, const Vector3d& vtV2)
{
return ( ( vtV1 - vtV2).IsSmall() || ( vtV1 + vtV2).IsSmall()) ;
}
//----------------------------------------------------------------------------
//! Verifica se due vettori sono esattamente coincidenti o opposti (Zero error -> Exact)
//----------------------------------------------------------------------------
inline bool
AreSameOrOppositeVectorExact( const Vector3d& vtV1, const Vector3d& vtV2)
{
return ( ( vtV1 - vtV2).IsZero() || ( vtV1 + vtV2).IsZero()) ;
}
//----------------------------------------------------------------------------
//! Verifica se due versori sono ortogonali (Small error -> Approx)
//----------------------------------------------------------------------------
+4
View File
@@ -46,6 +46,8 @@ class __declspec( novtable) ICurve : public IGeoObj
virtual bool GetStartDir( Vector3d& vtDir) const = 0 ;
virtual bool GetEndDir( Vector3d& vtDir) const = 0 ;
virtual bool GetMidDir( Vector3d& vtDir) const = 0 ;
virtual bool GetExtrusion( Vector3d& vtExtr) const = 0 ;
virtual bool GetThickness( double& dThick) const = 0 ;
virtual bool GetDomain( double& dStart, double& dEnd) const = 0 ;
virtual bool IsValidParam( double dPar, Side nSide) const = 0 ;
virtual bool IsStartParam( double dPar) const = 0 ;
@@ -63,6 +65,8 @@ class __declspec( novtable) ICurve : public IGeoObj
virtual ICurve* CopyParamRange( double dUStart, double dUEnd) const = 0 ;
virtual bool Invert( void) = 0 ;
virtual bool Offset( double dDist, int nSide, int nType = OFF_FILLET) = 0 ;
virtual bool SetExtrusion( const Vector3d& vtExtr) = 0 ;
virtual bool SetThickness( double dThick) = 0 ;
virtual bool ModifyStart( const Point3d& ptNewStart) = 0 ;
virtual bool ModifyEnd( const Point3d& ptNewEnd) = 0 ;
virtual bool TrimStartAtParam( double dUTrim) = 0 ;