EgtGeomKernel :
- correzione a PolyLine (Splice) - impostazione Reset grafica sulle diverse entità geometriche.
This commit is contained in:
+37
-18
@@ -38,10 +38,14 @@ CurveLine::~CurveLine( void)
|
||||
bool
|
||||
CurveLine::Set( const Point3d& ptStart, const Point3d& ptEnd)
|
||||
{
|
||||
// assegno i dati
|
||||
m_PtStart = ptStart ;
|
||||
m_PtEnd = ptEnd ;
|
||||
m_nStatus = TO_VERIFY ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return Validate() ;
|
||||
}
|
||||
|
||||
@@ -81,14 +85,14 @@ CurveLine::Save( ostream& osOut) const
|
||||
bool
|
||||
CurveLine::Load( Scanner& TheScanner)
|
||||
{
|
||||
string sLine ;
|
||||
STRVECTOR vsParams ;
|
||||
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
// leggo la prossima linea
|
||||
string sLine ;
|
||||
if ( ! TheScanner.GetLine( sLine))
|
||||
return false ;
|
||||
// la divido in parametri
|
||||
STRVECTOR vsParams ;
|
||||
Tokenize( sLine, ";", vsParams) ;
|
||||
// 2 parametri : punto iniziale e punto finale
|
||||
if ( vsParams.size() != 2)
|
||||
@@ -241,6 +245,9 @@ CurveLine::Invert( void)
|
||||
|
||||
// inverto i punti estremi
|
||||
swap( m_PtStart, m_PtEnd) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -249,13 +256,11 @@ CurveLine::Invert( void)
|
||||
bool
|
||||
CurveLine::TrimStartAtParam( double dUTrim)
|
||||
{
|
||||
double dLen ;
|
||||
|
||||
|
||||
// riporto i parametri nel loro range
|
||||
dUTrim = ( ( dUTrim < 0) ? 0 : (( dUTrim > 1) ? 1 : dUTrim)) ;
|
||||
|
||||
// recupero lunghezza
|
||||
double dLen ;
|
||||
if ( ! GetLength( dLen))
|
||||
return false ;
|
||||
|
||||
@@ -267,13 +272,11 @@ CurveLine::TrimStartAtParam( double dUTrim)
|
||||
bool
|
||||
CurveLine::TrimEndAtParam( double dUTrim)
|
||||
{
|
||||
double dLen ;
|
||||
|
||||
|
||||
// riporto i parametri nel loro range
|
||||
dUTrim = ( ( dUTrim < 0) ? 0 : (( dUTrim > 1) ? 1 : dUTrim)) ;
|
||||
|
||||
// recupero lunghezza
|
||||
double dLen ;
|
||||
if ( ! GetLength( dLen))
|
||||
return false ;
|
||||
|
||||
@@ -285,13 +288,11 @@ CurveLine::TrimEndAtParam( double dUTrim)
|
||||
bool
|
||||
CurveLine::TrimStartAtLen( double dLenTrim)
|
||||
{
|
||||
double dLen ;
|
||||
|
||||
|
||||
// lunghezze negative vengono considerate nulle
|
||||
dLenTrim = __max( dLenTrim, 0) ;
|
||||
|
||||
// verifico che sia abbastanza lunga
|
||||
double dLen ;
|
||||
if ( ! GetLength( dLen))
|
||||
return false ;
|
||||
if ( ( dLen - dLenTrim) < EPS_SMALL)
|
||||
@@ -301,7 +302,8 @@ CurveLine::TrimStartAtLen( double dLenTrim)
|
||||
if ( dLenTrim > EPS_ZERO)
|
||||
m_PtStart = Media( m_PtStart, m_PtEnd, ( dLenTrim / dLen)) ;
|
||||
|
||||
// con i controlli sopra fatti rimane validata
|
||||
// con i controlli sopra fatti rimane validata, ma la grafica va ricalcolata
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -310,13 +312,11 @@ CurveLine::TrimStartAtLen( double dLenTrim)
|
||||
bool
|
||||
CurveLine::TrimEndAtLen( double dLenTrim)
|
||||
{
|
||||
double dLen ;
|
||||
|
||||
|
||||
// lunghezze negative vengono considerate nulle
|
||||
dLenTrim = __max( dLenTrim, 0) ;
|
||||
|
||||
// verifico che sia abbastanza lunga
|
||||
double dLen ;
|
||||
if ( ! GetLength( dLen))
|
||||
return false ;
|
||||
if ( dLenTrim < EPS_SMALL)
|
||||
@@ -326,7 +326,8 @@ CurveLine::TrimEndAtLen( double dLenTrim)
|
||||
if ( ( dLen - dLenTrim) > EPS_ZERO)
|
||||
m_PtEnd = Media( m_PtStart, m_PtEnd, ( dLenTrim / dLen)) ;
|
||||
|
||||
// con i controlli sopra fatti rimane validata
|
||||
// con i controlli sopra fatti rimane validata, ma la grafica va ricalcolata
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
@@ -339,6 +340,9 @@ CurveLine::Translate( const Vector3d& vtMove)
|
||||
m_PtStart.Translate( vtMove) ;
|
||||
m_PtEnd.Translate( vtMove) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -354,6 +358,9 @@ CurveLine::Rotate( const Point3d& ptAx, const Vector3d& vtAx, double dCosAng, do
|
||||
m_PtStart.Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
|
||||
m_PtEnd.Rotate( ptAx, vtAx, dCosAng, dSinAng) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -370,6 +377,9 @@ CurveLine::Scale( const Frame3d& frRef, double dCoeffX, double dCoeffY, double d
|
||||
m_PtEnd.Scale( frRef, dCoeffX, dCoeffY, dCoeffZ) ;
|
||||
m_nStatus = TO_VERIFY ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return Validate() ;
|
||||
}
|
||||
|
||||
@@ -385,6 +395,9 @@ CurveLine::Mirror( const Point3d& ptOn, const Vector3d& vtNorm)
|
||||
m_PtStart.Mirror( ptOn, vtNorm) ;
|
||||
m_PtEnd.Mirror( ptOn, vtNorm) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -400,6 +413,9 @@ CurveLine::ToGlob( const Frame3d& frRef)
|
||||
m_PtStart.ToGlob( frRef) ;
|
||||
m_PtEnd.ToGlob( frRef) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -415,5 +431,8 @@ CurveLine::ToLoc( const Frame3d& frRef)
|
||||
m_PtStart.ToLoc( frRef) ;
|
||||
m_PtEnd.ToLoc( frRef) ;
|
||||
|
||||
// imposto ricalcolo della grafica
|
||||
m_OGrMgr.Reset() ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user