EgtGeomKernel :

- correzione alla GetChainedCurves
- aggiunto parametro alla GetSide della DistPointCurve
- migliorie alla IntersCurveCurve.
This commit is contained in:
Daniele Bariletti
2026-03-16 17:01:48 +01:00
parent 026436b914
commit d76beb09ee
4 changed files with 183 additions and 35 deletions
+5 -5
View File
@@ -211,13 +211,13 @@ DistPointCurve::GetParamAtMinDistPoint( double dNearParam, double& dParam, int&
//----------------------------------------------------------------------------
bool
DistPointCurve::GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide) const
DistPointCurve::GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide, double dTol) const
{
if ( m_dDist < 0 || nInd < 0 || nInd >= (int) m_Info.size())
return false ;
// se distanza nulla, il punto giace sulla curva
if ( m_dDist <= EPS_SMALL) {
if ( m_dDist <= dTol) {
nSide = MDS_ON ;
return true ;
}
@@ -259,7 +259,7 @@ DistPointCurve::GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide
// determino il lato di giacitura del punto
double dSide = vtRef * ( m_ptP - ptQ) ;
if ( abs( dSide) < EPS_SMALL)
if ( abs( dSide) < dTol)
nSide = MDS_ON ;
else if ( dSide > 0)
nSide = MDS_LEFT ;
@@ -270,7 +270,7 @@ DistPointCurve::GetSideAtMinDistPoint( int nInd, const Vector3d& vtN, int& nSide
//----------------------------------------------------------------------------
bool
DistPointCurve::GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide) const
DistPointCurve::GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, int& nSide, double dTol) const
{
if ( m_dDist < 0 || m_Info.empty())
return false ;
@@ -286,7 +286,7 @@ DistPointCurve::GetSideAtMinDistPoint( double dNearParam, const Vector3d& vtN, i
}
}
// mi sono ricondotto al caso precedente
return GetSideAtMinDistPoint( nInd, vtN, nSide) ;
return GetSideAtMinDistPoint( nInd, vtN, nSide, dTol) ;
}
//----------------------------------------------------------------------------