22#include <com/sun/star/chart/TimeUnit.hpp>
51 double fGlobalExtremum = std::numeric_limits<double>::infinity();
54 double fLocalExtremum = elem->getMinimumX();
55 if(fLocalExtremum<fGlobalExtremum)
56 fGlobalExtremum=fLocalExtremum;
58 if(std::isinf(fGlobalExtremum))
59 return std::numeric_limits<double>::quiet_NaN();
60 return fGlobalExtremum;
65 double fGlobalExtremum = -std::numeric_limits<double>::infinity();
68 double fLocalExtremum = elem->getMaximumX();
69 if(fLocalExtremum>fGlobalExtremum)
70 fGlobalExtremum=fLocalExtremum;
72 if(std::isinf(fGlobalExtremum))
73 return std::numeric_limits<double>::quiet_NaN();
74 return fGlobalExtremum;
79 double fGlobalExtremum = std::numeric_limits<double>::infinity();
82 double fLocalExtremum = elem->getMinimumYInRange( fMinimumX, fMaximumX, nAxisIndex );
83 if(fLocalExtremum<fGlobalExtremum)
84 fGlobalExtremum=fLocalExtremum;
86 if(std::isinf(fGlobalExtremum))
87 return std::numeric_limits<double>::quiet_NaN();
88 return fGlobalExtremum;
93 double fGlobalExtremum = -std::numeric_limits<double>::infinity();
96 double fLocalExtremum = elem->getMaximumYInRange( fMinimumX, fMaximumX, nAxisIndex );
97 if(fLocalExtremum>fGlobalExtremum)
98 fGlobalExtremum=fLocalExtremum;
100 if(std::isinf(fGlobalExtremum))
101 return std::numeric_limits<double>::quiet_NaN();
102 return fGlobalExtremum;
107 double fGlobalExtremum = std::numeric_limits<double>::infinity();
110 double fLocalExtremum = elem->getMinimumZ();
111 if(fLocalExtremum<fGlobalExtremum)
112 fGlobalExtremum=fLocalExtremum;
114 if(std::isinf(fGlobalExtremum))
115 return std::numeric_limits<double>::quiet_NaN();
116 return fGlobalExtremum;
121 double fGlobalExtremum = -std::numeric_limits<double>::infinity();
124 double fLocalExtremum = elem->getMaximumZ();
125 if(fLocalExtremum>fGlobalExtremum)
126 fGlobalExtremum=fLocalExtremum;
128 if(std::isinf(fGlobalExtremum))
129 return std::numeric_limits<double>::quiet_NaN();
130 return fGlobalExtremum;
137 if( !elem->isExpandBorderToIncrementRhythm( nDimensionIndex ) )
146 if( !elem->isExpandIfValuesCloseToBorder( nDimensionIndex ) )
155 if( elem->isExpandWideValuesToZero( nDimensionIndex ) )
164 if( elem->isExpandNarrowValuesTowardZero( nDimensionIndex ) )
173 if( elem->isSeparateStackingForDifferentSigns( nDimensionIndex ) )
188 tools::Long nCurrent = elem->calculateTimeResolutionOnXAxis();
198 elem->setTimeResolutionOnXAxis( nTimeResolution, rNullDate );
MergedMinimumAndMaximumSupplier()
virtual double getMaximumZ() override
virtual double getMaximumYInRange(double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex) override
MinimumAndMaximumSupplierSet m_aMinimumAndMaximumSupplierList
bool hasMinimumAndMaximumSupplier(MinimumAndMaximumSupplier *pMinimumAndMaximumSupplier)
void addMinimumAndMaximumSupplier(MinimumAndMaximumSupplier *pMinimumAndMaximumSupplier)
virtual bool isExpandIfValuesCloseToBorder(sal_Int32 nDimensionIndex) override
virtual double getMaximumX() override
virtual double getMinimumX() override
virtual double getMinimumYInRange(double fMinimumX, double fMaximumX, sal_Int32 nAxisIndex) override
virtual bool isSeparateStackingForDifferentSigns(sal_Int32 nDimensionIndex) override
virtual bool isExpandBorderToIncrementRhythm(sal_Int32 nDimensionIndex) override
virtual double getMinimumZ() override
virtual tools::Long calculateTimeResolutionOnXAxis() override
virtual void setTimeResolutionOnXAxis(tools::Long nTimeResolution, const Date &rNullDate) override
virtual bool isExpandNarrowValuesTowardZero(sal_Int32 nDimensionIndex) override
virtual ~MergedMinimumAndMaximumSupplier()
virtual bool isExpandWideValuesToZero(sal_Int32 nDimensionIndex) override
void clearMinimumAndMaximumSupplierList()