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:
Dario Sassi
2018-12-27 11:19:40 +00:00
parent a149384fbb
commit 64c954ad4b
56 changed files with 936 additions and 1408 deletions
+10 -10
View File
@@ -96,7 +96,7 @@ Frame3d::Set( const Point3d& ptOrig, const Vector3d& vtDirZ)
if ( ! m_vtVersZ.Normalize())
return false ;
// versore X (metodo OCS di DXF)
if ( fabs( m_vtVersZ.x) < 1./64. && fabs( m_vtVersZ.y) < 1./64.)
if ( abs( m_vtVersZ.x) < 1./64. && abs( m_vtVersZ.y) < 1./64.)
m_vtVersX = Y_AX ^ m_vtVersZ ;
else
m_vtVersX = Z_AX ^ m_vtVersZ ;
@@ -461,9 +461,9 @@ Frame3d::Verify( void)
double dOrtZX = m_vtVersZ * m_vtVersX ;
Vector3d vtTmp = m_vtVersX ^ m_vtVersY ;
double dRight = vtTmp * m_vtVersZ ;
if ( fabs( dOrtXY) > EPS_ZERO ||
fabs( dOrtYZ) > EPS_ZERO ||
fabs( dOrtZX) > EPS_ZERO ||
if ( abs( dOrtXY) > EPS_ZERO ||
abs( dOrtYZ) > EPS_ZERO ||
abs( dOrtZX) > EPS_ZERO ||
dRight < EPS_ZERO)
return false ;
else
@@ -479,14 +479,14 @@ Frame3d::CalculateType( void)
m_nZType = ERR ;
// se la Zloc non ha componenti x e y globali allora é diretta come Zglob
if ( fabs( m_vtVersZ.x) < EPS_ZERO && fabs( m_vtVersZ.y) < EPS_ZERO) {
if ( abs( m_vtVersZ.x) < EPS_ZERO && abs( m_vtVersZ.y) < EPS_ZERO) {
// se inoltre ha lo stesso verso di Zglob
if ( m_vtVersZ.z > 0)
m_nZType = TOP ;
else
m_nZType = BOTTOM ;
// se la Xloc coincide con Xglob Type coincide con ZType
if ( fabs( m_vtVersX.y) < EPS_ZERO && fabs( m_vtVersX.z) < EPS_ZERO &&
if ( abs( m_vtVersX.y) < EPS_ZERO && abs( m_vtVersX.z) < EPS_ZERO &&
m_vtVersX.x > 0)
m_nType = m_nZType ;
else
@@ -494,14 +494,14 @@ Frame3d::CalculateType( void)
}
// se la Zloc non ha componenti y e z globali allora é diretta come Xglob
else if ( fabs( m_vtVersZ.y) < EPS_ZERO && fabs( m_vtVersZ.z) < EPS_ZERO) {
else if ( abs( m_vtVersZ.y) < EPS_ZERO && abs( m_vtVersZ.z) < EPS_ZERO) {
// se inoltre ha lo stesso verso di Xglob
if ( m_vtVersZ.x > 0)
m_nZType = RIGHT ;
else
m_nZType = LEFT ;
// se la Yloc coincide con Zglob Type coincide con ZType
if ( fabs( m_vtVersY.x) < EPS_ZERO && fabs( m_vtVersY.y) < EPS_ZERO &&
if ( abs( m_vtVersY.x) < EPS_ZERO && abs( m_vtVersY.y) < EPS_ZERO &&
m_vtVersY.z > 0)
m_nType = m_nZType ;
else
@@ -509,14 +509,14 @@ Frame3d::CalculateType( void)
}
// se la Zloc non ha componenti z e x globali allora é diretta come Yglob
else if ( fabs( m_vtVersZ.z) < EPS_ZERO && fabs( m_vtVersZ.x) < EPS_ZERO) {
else if ( abs( m_vtVersZ.z) < EPS_ZERO && abs( m_vtVersZ.x) < EPS_ZERO) {
// se inoltre ha lo stesso verso di Yglob
if ( m_vtVersZ.y > 0)
m_nZType = BACK ;
else
m_nZType = FRONT ;
// se la Yloc coincide con Zglob Type coincide con ZType
if ( fabs( m_vtVersY.x) < EPS_ZERO && fabs( m_vtVersY.y) < EPS_ZERO &&
if ( abs( m_vtVersY.x) < EPS_ZERO && abs( m_vtVersY.y) < EPS_ZERO &&
m_vtVersY.z > 0)
m_nType = m_nZType ;
else