LibreOffice Module chart2 (master) 1
Public Member Functions | Public Attributes | List of all members
chart::PiePositionHelper Class Reference
Inheritance diagram for chart::PiePositionHelper:
[legend]
Collaboration diagram for chart::PiePositionHelper:
[legend]

Public Member Functions

 PiePositionHelper (double fAngleDegreeOffset)
 
bool getInnerAndOuterRadius (double fCategoryX, double &fLogicInnerRadius, double &fLogicOuterRadius, bool bUseRings, double fMaxOffset) const
 Compute the outer and the inner radius for the current ring (not for the whole donut!), in general it is: inner_radius = (ring_index + 1) - 0.5 + max_offset, outer_radius = (ring_index + 1) + 0.5 + max_offset. More...
 
- Public Member Functions inherited from chart::PolarPlottingPositionHelper
 PolarPlottingPositionHelper ()
 
 PolarPlottingPositionHelper (const PolarPlottingPositionHelper &rSource)
 
virtual ~PolarPlottingPositionHelper () override
 
virtual std::unique_ptr< PlottingPositionHelperclone () const override
 
virtual void setTransformationSceneToScreen (const css::drawing::HomogenMatrix &rMatrix) override
 
virtual void setScales (std::vector< ExplicitScaleData > &&rScales, bool bSwapXAndYAxis) override
 
const ::basegfx::B3DHomMatrixgetUnitCartesianToScene () const
 
virtual ::chart::XTransformation2getTransformationScaledLogicToScene () const override
 
double transformToRadius (double fLogicValueOnRadiusAxis, bool bDoScaling=true) const
 Given a value in the radius axis scale range, it returns the normalized value. More...
 
double transformToAngleDegree (double fLogicValueOnAngleAxis, bool bDoScaling=true) const
 Given a value in the angle axis scale range (e.g. More...
 
double getWidthAngleDegree (double &fStartLogicValueOnAngleAxis, double &fEndLogicValueOnAngleAxis) const
 Given 2 values in the angle axis scale range (e.g. More...
 
virtual css::drawing::Position3D transformLogicToScene (double fX, double fY, double fZ, bool bClip) const override
 
virtual css::drawing::Position3D transformScaledLogicToScene (double fX, double fY, double fZ, bool bClip) const override
 
css::drawing::Position3D transformAngleRadiusToScene (double fLogicValueOnAngleAxis, double fLogicValueOnRadiusAxis, double fLogicZ, bool bDoScaling=true) const
 
css::drawing::Position3D transformUnitCircleToScene (double fUnitAngleDegree, double fUnitRadius, double fLogicZ) const
 It returns the scene coordinates of the passed point: this point is described through a normalized cylindrical coordinate system. More...
 
double getOuterLogicRadius () const
 
bool isMathematicalOrientationAngle () const
 
bool isMathematicalOrientationRadius () const
 
virtual css::drawing::Position3D transformScaledLogicToScene (double fX, double fY, double fZ, bool bClip) const
 
void transformScaledLogicToScene (css::drawing::PolyPolygonShape3D &rPoly) const
 
void transformScaledLogicToScene (std::vector< std::vector< css::drawing::Position3D > > &rPoly) const
 
- Public Member Functions inherited from chart::PlottingPositionHelper
 PlottingPositionHelper ()
 
 PlottingPositionHelper (const PlottingPositionHelper &rSource)
 
virtual ~PlottingPositionHelper ()
 
virtual std::unique_ptr< PlottingPositionHelperclone () const
 
std::unique_ptr< PlottingPositionHelpercreateSecondaryPosHelper (const ExplicitScaleData &rSecondaryScale)
 
virtual void setTransformationSceneToScreen (const css::drawing::HomogenMatrix &rMatrix)
 
virtual void setScales (std::vector< ExplicitScaleData > &&rScales, bool bSwapXAndYAxis)
 
const std::vector< ExplicitScaleData > & getScales () const
 
void setCoordinateSystemResolution (const css::uno::Sequence< sal_Int32 > &rCoordinateSystemResolution)
 
bool isSameForGivenResolution (double fX, double fY, double fZ, double fX2, double fY2, double fZ2)
 
bool isStrongLowerRequested (sal_Int32 nDimensionIndex) const
 
bool isLogicVisible (double fX, double fY, double fZ) const
 
void doLogicScaling (double *pX, double *pY, double *pZ) const
 
void doUnshiftedLogicScaling (double *pX, double *pY, double *pZ) const
 
void clipLogicValues (double *pX, double *pY, double *pZ) const
 
void clipScaledLogicValues (double *pX, double *pY, double *pZ) const
 
bool clipYRange (double &rMin, double &rMax) const
 
void doLogicScaling (css::drawing::Position3D &rPos) const
 
virtual ::chart::XTransformation2getTransformationScaledLogicToScene () const
 
virtual css::drawing::Position3D transformLogicToScene (double fX, double fY, double fZ, bool bClip) const
 
virtual css::drawing::Position3D transformScaledLogicToScene (double fX, double fY, double fZ, bool bClip) const
 
void transformScaledLogicToScene (css::drawing::PolyPolygonShape3D &rPoly) const
 
void transformScaledLogicToScene (std::vector< std::vector< css::drawing::Position3D > > &rPoly) const
 
double getLogicMinX () const
 
double getLogicMinY () const
 
double getLogicMinZ () const
 
double getLogicMaxX () const
 
double getLogicMaxY () const
 
double getLogicMaxZ () const
 
bool isMathematicalOrientationX () const
 
bool isMathematicalOrientationY () const
 
bool isMathematicalOrientationZ () const
 
::basegfx::B2DRectangle getScaledLogicClipDoubleRect () const
 
css::drawing::Direction3D getScaledLogicWidth () const
 
bool isSwapXAndY () const
 
bool isPercentY () const
 
double getBaseValueY () const
 
bool maySkipPointsInRegressionCalculation () const
 
void setTimeResolution (tools::Long nTimeResolution, const Date &rNullDate)
 
virtual void setScaledCategoryWidth (double fScaledCategoryWidth)
 
void AllowShiftXAxisPos (bool bAllowShift)
 
void AllowShiftZAxisPos (bool bAllowShift)
 

Public Attributes

double m_fRingDistance
 
- Public Attributes inherited from chart::PolarPlottingPositionHelper
double m_fRadiusOffset
 m_bSwapXAndY (inherited): by default the X axis (scale[0]) represents the angle axis and the Y axis (scale[1]) represents the radius axis; when this parameter is true, the opposite happens (this is the case for pie charts). More...
 
double m_fAngleDegreeOffset
 Offset for angle axis in real degree. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from chart::PlottingPositionHelper
static css::awt::Point transformSceneToScreenPosition (const css::drawing::Position3D &rScenePosition3D, const rtl::Reference< SvxShapeGroupAnyD > &xSceneTarget, sal_Int32 nDimensionCount)
 
- Protected Attributes inherited from chart::PlottingPositionHelper
std::vector< ExplicitScaleDatam_aScales
 
::basegfx::B3DHomMatrix m_aMatrixScreenToScene
 
std::unique_ptr< ::chart::XTransformation2m_xTransformationLogicToScene
 
bool m_bSwapXAndY
 
sal_Int32 m_nXResolution
 
sal_Int32 m_nYResolution
 
sal_Int32 m_nZResolution
 
bool m_bMaySkipPointsInRegressionCalculation
 
bool m_bDateAxis
 
tools::Long m_nTimeResolution
 
Date m_aNullDate
 
double m_fScaledCategoryWidth
 
bool m_bAllowShiftXAxisPos
 
bool m_bAllowShiftZAxisPos
 

Detailed Description

Definition at line 128 of file PieChart.cxx.

Constructor & Destructor Documentation

◆ PiePositionHelper()

chart::PiePositionHelper::PiePositionHelper ( double  fAngleDegreeOffset)

Member Function Documentation

◆ getInnerAndOuterRadius()

bool chart::PiePositionHelper::getInnerAndOuterRadius ( double  fCategoryX,
double &  fLogicInnerRadius,
double &  fLogicOuterRadius,
bool  bUseRings,
double  fMaxOffset 
) const

Compute the outer and the inner radius for the current ring (not for the whole donut!), in general it is: inner_radius = (ring_index + 1) - 0.5 + max_offset, outer_radius = (ring_index + 1) + 0.5 + max_offset.

When orientation for the radius axis is reversed these values are swapped. (Indeed the orientation for the radius axis is always reversed! See PieChartTypeTemplate::adaptScales.) The maximum relative offset (see notes for PieChart::getMaxOffset) is added to both the inner and the outer radius. It returns true if the ring is visible (that is not out of the radius axis scale range).

Definition at line 159 of file PieChart.cxx.

References chart::PlottingPositionHelper::getLogicMaxX(), chart::PlottingPositionHelper::getLogicMinX(), chart::PolarPlottingPositionHelper::isMathematicalOrientationRadius(), and m_fRingDistance.

Member Data Documentation

◆ m_fRingDistance

double chart::PiePositionHelper::m_fRingDistance

Definition at line 137 of file PieChart.cxx.

Referenced by getInnerAndOuterRadius().


The documentation for this class was generated from the following file: