EgtGeomKernel 1.5h7 :
- modificta gestione versione dei file Nge - alle curve aggiunti vettore estrusione e spessore - IsFlat ora tiene conto del vettore estrusione - a TSC aggiunte CurveModify.EXTRusion e CurveModify.THickness.
This commit is contained in:
+34
-5
@@ -266,11 +266,15 @@ PolyLine::IsClosed( void) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
PolyLine::GetFirstUPoint( double* pdPar, Point3d* pptP) const
|
||||
PolyLine::GetFirstUPoint( double* pdPar, Point3d* pptP, bool bNotLast) const
|
||||
{
|
||||
m_iter = m_lUPoints.begin() ;
|
||||
if ( m_iter == m_lUPoints.end())
|
||||
return false ;
|
||||
if ( bNotLast && m_iter == -- ( m_lUPoints.end())) {
|
||||
m_iter = m_lUPoints.end() ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
if ( pdPar != nullptr)
|
||||
*pdPar = m_iter->first ;
|
||||
@@ -289,8 +293,10 @@ PolyLine::GetNextUPoint( double* pdPar, Point3d* pptP, bool bNotLast) const
|
||||
++ m_iter ;
|
||||
if ( m_iter == m_lUPoints.end())
|
||||
return false ;
|
||||
if ( bNotLast && m_iter == -- ( m_lUPoints.end()))
|
||||
if ( bNotLast && m_iter == -- ( m_lUPoints.end())) {
|
||||
m_iter = m_lUPoints.end() ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
if ( pdPar != nullptr)
|
||||
*pdPar = m_iter->first ;
|
||||
@@ -302,15 +308,18 @@ PolyLine::GetNextUPoint( double* pdPar, Point3d* pptP, bool bNotLast) const
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
PolyLine::GetLastUPoint( double* pdPar, Point3d* pptP) const
|
||||
PolyLine::GetLastUPoint( double* pdPar, Point3d* pptP, bool bNotFirst) const
|
||||
{
|
||||
m_iter = m_lUPoints.end() ;
|
||||
if ( m_iter == m_lUPoints.begin())
|
||||
return false ;
|
||||
-- m_iter ;
|
||||
|
||||
if ( m_iter == m_lUPoints.end())
|
||||
return false ;
|
||||
if ( bNotFirst && m_iter == m_lUPoints.begin()) {
|
||||
m_iter = m_lUPoints.end() ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
if ( pdPar != nullptr)
|
||||
*pdPar = m_iter->first ;
|
||||
@@ -327,7 +336,27 @@ PolyLine::GetPrevUPoint( double* pdPar, Point3d* pptP, bool bNotFirst) const
|
||||
if ( m_iter == m_lUPoints.begin())
|
||||
return false ;
|
||||
-- m_iter ;
|
||||
if ( bNotFirst && m_iter == m_lUPoints.begin())
|
||||
if ( m_iter == m_lUPoints.end())
|
||||
return false ;
|
||||
if ( bNotFirst && m_iter == m_lUPoints.begin()) {
|
||||
m_iter = m_lUPoints.end() ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
if ( pdPar != nullptr)
|
||||
*pdPar = m_iter->first ;
|
||||
if ( pptP != nullptr)
|
||||
*pptP = m_iter->second ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
PolyLine::GetCurrUPoint( double* pdPar, Point3d* pptP) const
|
||||
{
|
||||
// verifico validità punto corrente
|
||||
if ( m_iter == m_lUPoints.end())
|
||||
return false ;
|
||||
|
||||
if ( pdPar != nullptr)
|
||||
|
||||
Reference in New Issue
Block a user