EgtGeomKernel 1.5f1 :
- aggiunta entità testo (con font Nfe e di sistema) - in tutte le rotate ora l'angolo è in gradi - aggiunta trasformazione Shear (scorrimento) - aggiunta trsformazione LocToLoc - Set/GetInfo specializzate per i diversi tipi di informazioni - Copy e Relocate con possibilità di indicare l'entità di riferimento rispetto a cui inserire - aggiunte trasformazioni a PolyLine.
This commit is contained in:
+48
-17
@@ -444,13 +444,13 @@ CurveLine::TrimEndAtLen( double dLenTrim)
|
||||
bool
|
||||
CurveLine::Translate( const Vector3d& vtMove)
|
||||
{
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// traslo i punti estremi
|
||||
m_PtStart.Translate( vtMove) ;
|
||||
m_PtEnd.Translate( vtMove) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -462,13 +462,13 @@ CurveLine::Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, do
|
||||
if ( vtAx.IsSmall())
|
||||
return false ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// ruoto i punti estremi
|
||||
m_PtStart.Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
|
||||
m_PtEnd.Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -480,14 +480,14 @@ CurveLine::Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double d
|
||||
if ( fabs( dCoeffX) < EPS_ZERO && fabs( dCoeffY) < EPS_ZERO && fabs( dCoeffZ) < EPS_ZERO)
|
||||
return false ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// scalo i punti estremi
|
||||
m_PtStart.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
|
||||
m_PtEnd.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
|
||||
m_nStatus = TO_VERIFY ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return Validate() ;
|
||||
}
|
||||
|
||||
@@ -499,13 +499,31 @@ CurveLine::Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
|
||||
if ( vtNorm.IsSmall())
|
||||
return false ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// specchio i punti estremi
|
||||
m_PtStart.Mirror( ptOn, vtNorm) ;
|
||||
m_PtEnd.Mirror( ptOn, vtNorm) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveLine::Shear( const Point3d& ptOn, const Vector3d& vtNorm, const Vector3d& vtDir, double dCoeff)
|
||||
{
|
||||
// verifico validità dei parametri
|
||||
if ( vtNorm.IsSmall() || vtDir.IsSmall())
|
||||
return false ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// eseguo scorrimento dei punti estremi
|
||||
m_PtStart.Shear( ptOn, vtNorm, vtDir, dCoeff) ;
|
||||
m_PtEnd.Shear( ptOn, vtNorm, vtDir, dCoeff) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -517,14 +535,11 @@ CurveLine::ToGlob( const Frame3d& frRef)
|
||||
if ( frRef.GetType() == Frame3d::ERR)
|
||||
return false ;
|
||||
|
||||
// trasformo i punti estremi
|
||||
m_PtStart.ToGlob( frRef) ;
|
||||
m_PtEnd.ToGlob( frRef) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
// trasformo i punti estremi
|
||||
return ( m_PtStart.ToGlob( frRef) && m_PtEnd.ToGlob( frRef)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -535,12 +550,28 @@ CurveLine::ToLoc( const Frame3d& frRef)
|
||||
if ( frRef.GetType() == Frame3d::ERR)
|
||||
return false ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
// trasformo i punti estremi
|
||||
m_PtStart.ToLoc( frRef) ;
|
||||
m_PtEnd.ToLoc( frRef) ;
|
||||
return ( m_PtStart.ToLoc( frRef) && m_PtEnd.ToLoc( frRef)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
CurveLine::LocToLoc( const Frame3d& frOri, const Frame3d& frDest)
|
||||
{
|
||||
// verifico validità dei frame
|
||||
if ( frOri.GetType() == Frame3d::ERR || frDest.GetType() == Frame3d::ERR)
|
||||
return false ;
|
||||
// se i due riferimenti coincidono, non devo fare alcunché
|
||||
if ( AreSameFrame( frOri, frDest))
|
||||
return true ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
// trasformo i punti estremi
|
||||
return ( m_PtStart.ToGlob( frOri) && m_PtStart.ToLoc( frDest) &&
|
||||
m_PtEnd.ToGlob( frOri) && m_PtEnd.ToLoc( frDest)) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user