diff options
Diffstat (limited to 'tools/source/generic/poly.cxx')
-rw-r--r-- | tools/source/generic/poly.cxx | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/tools/source/generic/poly.cxx b/tools/source/generic/poly.cxx index eb8442f7cd93..509d2ab4969d 100644 --- a/tools/source/generic/poly.cxx +++ b/tools/source/generic/poly.cxx @@ -957,59 +957,6 @@ void Polygon::Optimize( ULONG nOptimizeFlags, const PolyOptimizeData* pData ) } } -// ----------------------------------------------------------------------- - -void Polygon::GetSimple( Polygon& rResult ) const -{ - if( !mpImplPolygon->mpFlagAry ) - rResult = *this; - else - { - ::std::vector< Point > aPointVector; - - for( USHORT i = 0, nCount = GetSize(); i < nCount; ) - { - if( ( ( i + 3 ) < nCount ) && - ( POLY_NORMAL == mpImplPolygon->mpFlagAry[ i ] ) && - ( POLY_CONTROL == mpImplPolygon->mpFlagAry[ i + 1 ] ) && - ( POLY_CONTROL == mpImplPolygon->mpFlagAry[ i + 2 ] ) && - ( POLY_NORMAL == mpImplPolygon->mpFlagAry[ i + 3 ] ) ) - { - const USHORT nSegmentPoints = 25; - const Polygon aSegmentPoly( mpImplPolygon->mpPointAry[ i ], mpImplPolygon->mpPointAry[ i + 1 ], - mpImplPolygon->mpPointAry[ i + 3 ], mpImplPolygon->mpPointAry[ i + 2 ], - nSegmentPoints ); - const USHORT nSegmentSize = aSegmentPoly.GetSize(); - - if( nSegmentSize ) - { - const Point* pPointArray = aSegmentPoly.mpImplPolygon->mpPointAry; - const Point* pCur = pPointArray; - const Point* pLast; - - aPointVector.push_back( *( pLast = pCur ) ); - - for( USHORT j = 1; j < nSegmentSize; j++ ) - if( *( pCur = pPointArray + j ) != *pLast ) - aPointVector.push_back( *( pLast = pCur ) ); - } - - i += 3; - } - else - aPointVector.push_back( mpImplPolygon->mpPointAry[ i++ ] ); - } - - // fill result polygon - rResult = Polygon( (USHORT)aPointVector.size() ); - ::std::vector< Point >::iterator aIter( aPointVector.begin() ), aEnd( aPointVector.end() ); - Point* pPointArray = rResult.mpImplPolygon->mpPointAry; - USHORT nPoints = rResult.mpImplPolygon->mnPoints; - while( nPoints-- && aIter != aEnd ) - *pPointArray++ = *aIter++; - } -} - // ======================================================================= /* Recursively subdivide cubic bezier curve via deCasteljau. |