EgtGeomKernel 1.9l4 :
- fabs sostituito da abs - in Zmap razionalizzazione operazioni taglio spilloni - in SurfTriMesh UpdateFaceting senza più chiamate recursive.
This commit is contained in:
+11
-11
@@ -582,7 +582,7 @@ Triangulate::CalcTriangleAspectRatio( const Point3d& ptPa, const Point3d& ptPb,
|
||||
double dSqDistA = SquareDist( ptPa, ptPb) ;
|
||||
double dSqDistB = SquareDist( ptPb, ptPc) ;
|
||||
double dSqDistC = SquareDist( ptPc, ptPa) ;
|
||||
double dTwoArea = fabs( TwoArea( ptPa, ptPb, ptPc)) ;
|
||||
double dTwoArea = abs( TwoArea( ptPa, ptPb, ptPc)) ;
|
||||
if ( dTwoArea < SQ_EPS_SMALL)
|
||||
return INFINITO ;
|
||||
else
|
||||
@@ -646,7 +646,7 @@ Triangulate::SameDirection( const Point3d& ptA, const Point3d& ptB, const Point3
|
||||
bool
|
||||
Triangulate::Collinear( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler)
|
||||
{
|
||||
return ( fabs( TwoArea( ptA, ptB, ptC)) < dToler * dToler) ;
|
||||
return ( abs( TwoArea( ptA, ptB, ptC)) < dToler * dToler) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -796,13 +796,13 @@ Triangulate::GetOuterPntToJoin( const PNTVECTOR& vPt, const Point3d& ptP, int& n
|
||||
switch (m_nPlane) {
|
||||
default : // PL_XY
|
||||
// se i punti coincidono
|
||||
if ( fabs( vPt[i].x - ptP.x) < EPS_SMALL && fabs( vPt[i].y - ptP.y) < EPS_SMALL) {
|
||||
if ( abs( vPt[i].x - ptP.x) < EPS_SMALL && abs( vPt[i].y - ptP.y) < EPS_SMALL) {
|
||||
dMinDist = 0 ;
|
||||
nI = i ;
|
||||
ptInt = vPt[i] ;
|
||||
}
|
||||
// se punto esattamente sul raggio e raggio interno al settore
|
||||
else if ( vPt[i].x > ptP.x && fabs( vPt[i].y - ptP.y) < EPS_SMALL &&
|
||||
else if ( vPt[i].x > ptP.x && abs( vPt[i].y - ptP.y) < EPS_SMALL &&
|
||||
PointInSector( ptP, vPt[h], vPt[i], vPt[j])) {
|
||||
// se distanza minore della minima, nuovo minimo
|
||||
if ( ( vPt[i].x - ptP.x) < dMinDist) {
|
||||
@@ -827,13 +827,13 @@ Triangulate::GetOuterPntToJoin( const PNTVECTOR& vPt, const Point3d& ptP, int& n
|
||||
break ;
|
||||
case PL_YZ :
|
||||
// se i punti coincidono
|
||||
if ( fabs( vPt[i].y - ptP.y) < EPS_SMALL && fabs( vPt[i].z - ptP.z) < EPS_SMALL) {
|
||||
if ( abs( vPt[i].y - ptP.y) < EPS_SMALL && abs( vPt[i].z - ptP.z) < EPS_SMALL) {
|
||||
dMinDist = 0 ;
|
||||
nI = i ;
|
||||
ptInt = vPt[i] ;
|
||||
}
|
||||
// se punto esattamente sul raggio e raggio interno al settore
|
||||
else if ( vPt[i].y > ptP.y && fabs( vPt[i].z - ptP.z) < EPS_SMALL &&
|
||||
else if ( vPt[i].y > ptP.y && abs( vPt[i].z - ptP.z) < EPS_SMALL &&
|
||||
PointInSector( ptP, vPt[h], vPt[i], vPt[j])) {
|
||||
// se distanza minore della minima, nuovo minimo
|
||||
if ( ( vPt[i].y - ptP.y) < dMinDist) {
|
||||
@@ -858,13 +858,13 @@ Triangulate::GetOuterPntToJoin( const PNTVECTOR& vPt, const Point3d& ptP, int& n
|
||||
break ;
|
||||
case PL_ZX :
|
||||
// se i punti coincidono
|
||||
if ( fabs( vPt[i].z - ptP.z) < EPS_SMALL && fabs( vPt[i].x - ptP.x) < EPS_SMALL) {
|
||||
if ( abs( vPt[i].z - ptP.z) < EPS_SMALL && abs( vPt[i].x - ptP.x) < EPS_SMALL) {
|
||||
dMinDist = 0 ;
|
||||
nI = i ;
|
||||
ptInt = vPt[i] ;
|
||||
}
|
||||
// se punto esattamente sul raggio e raggio interno al settore
|
||||
else if ( vPt[i].z > ptP.z && fabs( vPt[i].x - ptP.x) < EPS_SMALL &&
|
||||
else if ( vPt[i].z > ptP.z && abs( vPt[i].x - ptP.x) < EPS_SMALL &&
|
||||
PointInSector( ptP, vPt[h], vPt[i], vPt[j])) {
|
||||
// se distanza minore della minima, nuovo minimo
|
||||
if ( ( vPt[i].z - ptP.z) < dMinDist) {
|
||||
@@ -919,9 +919,9 @@ Triangulate::GetOuterPntToJoin( const PNTVECTOR& vPt, const Point3d& ptP, int& n
|
||||
if ( TestPointInTriangle( vPt[i], ptPa, ptPb, ptPc)) {
|
||||
double dTan = INFINITO ;
|
||||
switch ( m_nPlane) {
|
||||
default : /* PL_XY */ dTan = fabs(vPt[i].y - ptP.y) / (vPt[i].x - ptP.x) ; break ;
|
||||
case PL_YZ : dTan = fabs(vPt[i].z - ptP.z) / (vPt[i].y - ptP.y) ; break ;
|
||||
case PL_ZX : dTan = fabs(vPt[i].x - ptP.x) / (vPt[i].z - ptP.z) ; break ;
|
||||
default : /* PL_XY */ dTan = abs(vPt[i].y - ptP.y) / (vPt[i].x - ptP.x) ; break ;
|
||||
case PL_YZ : dTan = abs(vPt[i].z - ptP.z) / (vPt[i].y - ptP.y) ; break ;
|
||||
case PL_ZX : dTan = abs(vPt[i].x - ptP.x) / (vPt[i].z - ptP.z) ; break ;
|
||||
}
|
||||
if ( dTan < dMinTan + EPS_ZERO) {
|
||||
// indice punto precedente
|
||||
|
||||
Reference in New Issue
Block a user