diff options
Diffstat (limited to 'chart2/source/tools/BaseGFXHelper.cxx')
-rw-r--r-- | chart2/source/tools/BaseGFXHelper.cxx | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chart2/source/tools/BaseGFXHelper.cxx b/chart2/source/tools/BaseGFXHelper.cxx index 9c475bc759d1..17bd4f5e1809 100644 --- a/chart2/source/tools/BaseGFXHelper.cxx +++ b/chart2/source/tools/BaseGFXHelper.cxx @@ -60,6 +60,38 @@ namespace chart::BaseGFXHelper return aRet; } +::basegfx::B3DRange getBoundVolume( const std::vector<std::vector<css::drawing::Position3D>>& rPolyPoly ) +{ + ::basegfx::B3DRange aRet; + + bool bInited = false; + sal_Int32 nPolyCount = rPolyPoly.size(); + for(sal_Int32 nPoly = 0; nPoly < nPolyCount; nPoly++) + { + sal_Int32 nPointCount = rPolyPoly[nPoly].size(); + for( sal_Int32 nPoint = 0; nPoint < nPointCount; nPoint++) + { + if(!bInited) + { + aRet = ::basegfx::B3DRange(::basegfx::B3DTuple( + rPolyPoly[nPoly][nPoint].PositionX + , rPolyPoly[nPoly][nPoint].PositionY + , rPolyPoly[nPoly][nPoint].PositionZ)); + bInited = true; + } + else + { + aRet.expand( ::basegfx::B3DTuple( + rPolyPoly[nPoly][nPoint].PositionX + , rPolyPoly[nPoly][nPoint].PositionY + , rPolyPoly[nPoly][nPoint].PositionZ)); + } + } + } + + return aRet; +} + B2IRectangle makeRectangle( const awt::Point& rPos, const awt::Size& rSize ) { return B2IRectangle(rPos.X,rPos.Y,rPos.X+rSize.Width,rPos.Y+rSize.Height); @@ -81,6 +113,12 @@ awt::Size B2IRectangleToAWTSize( const ::basegfx::B2IRectangle& rB2IRectangle ) static_cast< sal_Int32 >( rB2IRectangle.getHeight())); } +awt::Rectangle toAwtRectangle(const basegfx::B2IRectangle& rRectangle) +{ + return awt::Rectangle(rRectangle.getMinX(), rRectangle.getMinY(), + rRectangle.getWidth(), rRectangle.getHeight()); +} + B3DVector Direction3DToB3DVector( const Direction3D& rDirection ) { return B3DVector( |