LibreOffice Module chart2 (master) 1
|
#include <VCoordinateSystem.hxx>
Public Member Functions | |
virtual | ~VCoordinateSystem () |
void | initPlottingTargets (const rtl::Reference< SvxShapeGroupAnyD > &xLogicTarget, const rtl::Reference< SvxShapeGroupAnyD > &xFinalTarget, rtl::Reference< SvxShapeGroupAnyD > &xLogicTargetForSeriesBehindAxis) |
void | setParticle (const OUString &rCooSysParticle) |
void | setTransformationSceneToScreen (const css::drawing::HomogenMatrix &rMatrix) |
const css::drawing::HomogenMatrix & | getTransformationSceneToScreen () const |
virtual css::uno::Sequence< sal_Int32 > | getCoordinateSystemResolution (const css::awt::Size &rPageSize, const css::awt::Size &rPageResolution) |
ExplicitScaleData | getExplicitScale (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) const |
ExplicitIncrementData | getExplicitIncrement (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) const |
void | setExplicitCategoriesProvider (ExplicitCategoriesProvider *) |
ExplicitCategoriesProvider * | getExplicitCategoriesProvider () |
std::vector< ExplicitScaleData > | getExplicitScales (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) const |
std::vector< ExplicitIncrementData > | getExplicitIncrements (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) const |
void | addMinimumAndMaximumSupplier (MinimumAndMaximumSupplier *pMinimumAndMaximumSupplier) |
bool | hasMinimumAndMaximumSupplier (MinimumAndMaximumSupplier *pMinimumAndMaximumSupplier) |
void | clearMinimumAndMaximumSupplierList () |
void | prepareAutomaticAxisScaling (ScaleAutomatism &rScaleAutomatism, sal_Int32 nDimIndex, sal_Int32 nAxisIndex) |
It sets the scaling parameters for the passed ScaleAutomatism object. More... | |
void | setExplicitScaleAndIncrement (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex, const ExplicitScaleData &rExplicitScale, const ExplicitIncrementData &rExplicitIncrement) |
void | set3DWallPositions (CuboidPlanePosition eLeftWallPos, CuboidPlanePosition eBackWallPos, CuboidPlanePosition eBottomPos) |
const rtl::Reference< ::chart::BaseCoordinateSystem > & | getModel () const |
virtual void | createVAxisList (const rtl::Reference<::chart::ChartModel > &xChartDoc, const css::awt::Size &rFontReferenceSize, const css::awt::Rectangle &rMaximumSpaceForLabels, bool bLimitSpaceForLabels, std::vector< std::unique_ptr< VSeriesPlotter > > &rSeriesPlotterList, css::uno::Reference< css::uno::XComponentContext > const &rComponentContext) |
Create "view" axis objects 'VAxis' from the coordinate system model. More... | |
virtual void | initVAxisInList () |
virtual void | updateScalesAndIncrementsOnAxes () |
void | createMaximumAxesLabels () |
void | createAxesLabels () |
void | updatePositions () |
void | createAxesShapes () |
virtual void | createGridShapes () |
bool | getPropertySwapXAndYAxis () const |
sal_Int32 | getMaximumAxisIndexByDimension (sal_Int32 nDimensionIndex) const |
bool | needSeriesNamesForAxis () const |
void | setSeriesNamesForAxis (const css::uno::Sequence< OUString > &rSeriesNames) |
Static Public Member Functions | |
static std::unique_ptr< VCoordinateSystem > | createCoordinateSystem (const rtl::Reference< ::chart::BaseCoordinateSystem > &xCooSysModel) |
Protected Types | |
typedef std::pair< sal_Int32, sal_Int32 > | tFullAxisIndex |
typedef std::map< tFullAxisIndex, std::shared_ptr< VAxisBase > > | tVAxisMap |
Protected Member Functions | |
VCoordinateSystem (rtl::Reference< ::chart::BaseCoordinateSystem > xCooSys) | |
rtl::Reference< ::chart::Axis > | getAxisByDimension (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) const |
VAxisBase * | getVAxis (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) |
OUString | createCIDForAxis (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) |
OUString | createCIDForGrid (sal_Int32 nDimensionIndex, sal_Int32 nAxisIndex) |
sal_Int32 | getNumberFormatKeyForAxis (const rtl::Reference< ::chart::Axis > &xAxis, const rtl::Reference<::chart::ChartModel > &xChartDoc) |
Static Protected Member Functions | |
static std::vector< rtl::Reference< ::chart::GridProperties > > | getGridListFromAxis (const rtl::Reference< ::chart::Axis > &xAxis) |
Protected Attributes | |
rtl::Reference< ::chart::BaseCoordinateSystem > | m_xCooSysModel |
OUString | m_aCooSysParticle |
rtl::Reference< SvxShapeGroupAnyD > | m_xLogicTargetForGrids |
rtl::Reference< SvxShapeGroupAnyD > | m_xLogicTargetForAxes |
rtl::Reference< SvxShapeGroupAnyD > | m_xFinalTarget |
css::drawing::HomogenMatrix | m_aMatrixSceneToScreen |
CuboidPlanePosition | m_eLeftWallPos |
CuboidPlanePosition | m_eBackWallPos |
CuboidPlanePosition | m_eBottomPos |
MergedMinimumAndMaximumSupplier | m_aMergedMinMaxSupplier |
Collection of min-max suppliers which are basically different chart types present in the same coordinate system. More... | |
css::uno::Sequence< OUString > | m_aSeriesNamesForZAxis |
tVAxisMap | m_aAxisMap |
Private Types | |
typedef std::map< tFullAxisIndex, ExplicitScaleData > | tFullExplicitScaleMap |
typedef std::map< tFullAxisIndex, ExplicitIncrementData > | tFullExplicitIncrementMap |
Private Member Functions | |
void | impl_adjustDimensionAndIndex (sal_Int32 &rDimensionIndex, sal_Int32 &rAxisIndex) const |
Static Private Member Functions | |
static void | impl_adjustDimension (sal_Int32 &rDimensionIndex) |
Private Attributes | |
std::vector< ExplicitScaleData > | m_aExplicitScales |
std::vector< ExplicitIncrementData > | m_aExplicitIncrements |
tFullExplicitScaleMap | m_aSecondaryExplicitScales |
tFullExplicitIncrementMap | m_aSecondaryExplicitIncrements |
std::unique_ptr< ExplicitCategoriesProvider > | m_apExplicitCategoriesProvider |
Definition at line 54 of file VCoordinateSystem.hxx.
|
protected |
Definition at line 170 of file VCoordinateSystem.hxx.
|
private |
Definition at line 199 of file VCoordinateSystem.hxx.
|
private |
Definition at line 198 of file VCoordinateSystem.hxx.
|
protected |
Definition at line 190 of file VCoordinateSystem.hxx.
|
virtual |
Definition at line 88 of file VCoordinateSystem.cxx.
|
protected |
Definition at line 73 of file VCoordinateSystem.cxx.
References m_aExplicitScales, and m_xCooSysModel.
Referenced by createCoordinateSystem().
void chart::VCoordinateSystem::addMinimumAndMaximumSupplier | ( | MinimumAndMaximumSupplier * | pMinimumAndMaximumSupplier | ) |
Definition at line 531 of file VCoordinateSystem.cxx.
References chart::MergedMinimumAndMaximumSupplier::addMinimumAndMaximumSupplier(), and m_aMergedMinMaxSupplier.
Referenced by chart::SeriesPlotterContainer::initializeCooSysAndSeriesPlotter().
void chart::VCoordinateSystem::clearMinimumAndMaximumSupplierList | ( | ) |
Definition at line 541 of file VCoordinateSystem.cxx.
References chart::MergedMinimumAndMaximumSupplier::clearMinimumAndMaximumSupplierList(), and m_aMergedMinMaxSupplier.
void chart::VCoordinateSystem::createAxesLabels | ( | ) |
Definition at line 469 of file VCoordinateSystem.cxx.
References m_aAxisMap, and m_aMatrixSceneToScreen.
Referenced by chart::ChartView::impl_createDiagramAndContent().
void chart::VCoordinateSystem::createAxesShapes | ( | ) |
Definition at line 497 of file VCoordinateSystem.cxx.
References m_aAxisMap, m_aExplicitScales, and m_aMatrixSceneToScreen.
|
protected |
Definition at line 300 of file VCoordinateSystem.cxx.
References chart::ObjectIdentifier::createClassifiedIdentifierForParticles(), chart::ObjectIdentifier::createParticleForAxis(), and m_aCooSysParticle.
|
protected |
Definition at line 305 of file VCoordinateSystem.cxx.
References chart::ObjectIdentifier::createClassifiedIdentifierForParticles(), chart::ObjectIdentifier::createParticleForGrid(), and m_aCooSysParticle.
|
static |
Definition at line 54 of file VCoordinateSystem.cxx.
References CHART2_COOSYSTEM_CARTESIAN_VIEW_SERVICE_NAME, CHART2_COOSYSTEM_POLAR_VIEW_SERVICE_NAME, and VCoordinateSystem().
Referenced by chart::SeriesPlotterContainer::addCooSysToList().
|
virtual |
Reimplemented in chart::VCartesianCoordinateSystem, and chart::VPolarCoordinateSystem.
Definition at line 528 of file VCoordinateSystem.cxx.
void chart::VCoordinateSystem::createMaximumAxesLabels | ( | ) |
Definition at line 456 of file VCoordinateSystem.cxx.
References m_aAxisMap, and m_aMatrixSceneToScreen.
Referenced by chart::ChartView::impl_createDiagramAndContent().
|
virtual |
Create "view" axis objects 'VAxis' from the coordinate system model.
Reimplemented in chart::VCartesianCoordinateSystem, and chart::VPolarCoordinateSystem.
Definition at line 326 of file VCoordinateSystem.cxx.
|
protected |
Definition at line 190 of file VCoordinateSystem.cxx.
References m_xCooSysModel.
|
virtual |
Reimplemented in chart::VPolarCoordinateSystem.
Definition at line 141 of file VCoordinateSystem.cxx.
References FIXED_SIZE_FOR_3D_CHART_VOLUME, getPropertySwapXAndYAxis(), chart::BaseGFXHelper::GetScaleFromMatrix(), basegfx::Tuple3D< typename TYPE >::getX(), basegfx::Tuple3D< typename TYPE >::getY(), chart::BaseGFXHelper::HomogenMatrixToB3DHomMatrix(), i, m_aMatrixSceneToScreen, and m_xCooSysModel.
Referenced by chart::ChartView::impl_createDiagramAndContent().
ExplicitCategoriesProvider * chart::VCoordinateSystem::getExplicitCategoriesProvider | ( | ) |
Definition at line 229 of file VCoordinateSystem.cxx.
References m_apExplicitCategoriesProvider.
Referenced by chart::SeriesPlotterContainer::initializeCooSysAndSeriesPlotter().
ExplicitIncrementData chart::VCoordinateSystem::getExplicitIncrement | ( | sal_Int32 | nDimensionIndex, |
sal_Int32 | nAxisIndex | ||
) | const |
Definition at line 277 of file VCoordinateSystem.cxx.
References impl_adjustDimensionAndIndex(), m_aExplicitIncrements, and m_aSecondaryExplicitIncrements.
Referenced by getExplicitIncrements(), and chart::ChartView::getExplicitValuesForAxis().
std::vector< ExplicitIncrementData > chart::VCoordinateSystem::getExplicitIncrements | ( | sal_Int32 | nDimensionIndex, |
sal_Int32 | nAxisIndex | ||
) | const |
Definition at line 244 of file VCoordinateSystem.cxx.
References getExplicitIncrement(), impl_adjustDimensionAndIndex(), and m_aExplicitIncrements.
ExplicitScaleData chart::VCoordinateSystem::getExplicitScale | ( | sal_Int32 | nDimensionIndex, |
sal_Int32 | nAxisIndex | ||
) | const |
Definition at line 254 of file VCoordinateSystem.cxx.
References impl_adjustDimensionAndIndex(), m_aExplicitScales, and m_aSecondaryExplicitScales.
Referenced by getExplicitScales(), chart::ChartView::getExplicitValuesForAxis(), prepareAutomaticAxisScaling(), and chart::SeriesPlotterContainer::setScalesFromCooSysToPlotter().
std::vector< ExplicitScaleData > chart::VCoordinateSystem::getExplicitScales | ( | sal_Int32 | nDimensionIndex, |
sal_Int32 | nAxisIndex | ||
) | const |
Definition at line 234 of file VCoordinateSystem.cxx.
References getExplicitScale(), impl_adjustDimensionAndIndex(), and m_aExplicitScales.
Referenced by chart::SeriesPlotterContainer::setScalesFromCooSysToPlotter().
|
staticprotected |
Definition at line 197 of file VCoordinateSystem.cxx.
sal_Int32 chart::VCoordinateSystem::getMaximumAxisIndexByDimension | ( | sal_Int32 | nDimensionIndex | ) | const |
Definition at line 311 of file VCoordinateSystem.cxx.
References m_aSecondaryExplicitScales.
Referenced by impl_adjustDimensionAndIndex(), and chart::SeriesPlotterContainer::setScalesFromCooSysToPlotter().
|
inline |
Definition at line 115 of file VCoordinateSystem.hxx.
References m_xCooSysModel.
Referenced by chart::SeriesPlotterContainer::setNumberFormatsFromAxes().
|
protected |
Definition at line 569 of file VCoordinateSystem.cxx.
References m_xCooSysModel.
bool chart::VCoordinateSystem::getPropertySwapXAndYAxis | ( | ) | const |
Definition at line 546 of file VCoordinateSystem.cxx.
References m_xCooSysModel, and TOOLS_WARN_EXCEPTION.
Referenced by getCoordinateSystemResolution(), and chart::SeriesPlotterContainer::setScalesFromCooSysToPlotter().
|
inline |
Definition at line 71 of file VCoordinateSystem.hxx.
References m_aMatrixSceneToScreen.
Referenced by chart::ChartView::impl_createDiagramAndContent().
|
protected |
Definition at line 415 of file VCoordinateSystem.cxx.
References m_aAxisMap.
Referenced by prepareAutomaticAxisScaling().
bool chart::VCoordinateSystem::hasMinimumAndMaximumSupplier | ( | MinimumAndMaximumSupplier * | pMinimumAndMaximumSupplier | ) |
Definition at line 536 of file VCoordinateSystem.cxx.
References chart::MergedMinimumAndMaximumSupplier::hasMinimumAndMaximumSupplier(), and m_aMergedMinMaxSupplier.
|
staticprivate |
Definition at line 211 of file VCoordinateSystem.cxx.
Referenced by impl_adjustDimensionAndIndex(), and setExplicitScaleAndIncrement().
|
private |
Definition at line 216 of file VCoordinateSystem.cxx.
References getMaximumAxisIndexByDimension(), and impl_adjustDimension().
Referenced by getExplicitIncrement(), getExplicitIncrements(), getExplicitScale(), and getExplicitScales().
void chart::VCoordinateSystem::initPlottingTargets | ( | const rtl::Reference< SvxShapeGroupAnyD > & | xLogicTarget, |
const rtl::Reference< SvxShapeGroupAnyD > & | xFinalTarget, | ||
rtl::Reference< SvxShapeGroupAnyD > & | xLogicTargetForSeriesBehindAxis | ||
) |
css::uno::RuntimeException |
Definition at line 92 of file VCoordinateSystem.cxx.
References chart::ShapeFactory::createGroup2D(), chart::ShapeFactory::createGroup3D(), m_xCooSysModel, m_xFinalTarget, m_xLogicTargetForAxes, and m_xLogicTargetForGrids.
|
virtual |
Reimplemented in chart::VCartesianCoordinateSystem, and chart::VPolarCoordinateSystem.
Definition at line 336 of file VCoordinateSystem.cxx.
bool chart::VCoordinateSystem::needSeriesNamesForAxis | ( | ) | const |
Definition at line 560 of file VCoordinateSystem.cxx.
References m_xCooSysModel.
void chart::VCoordinateSystem::prepareAutomaticAxisScaling | ( | ScaleAutomatism & | rScaleAutomatism, |
sal_Int32 | nDimIndex, | ||
sal_Int32 | nAxisIndex | ||
) |
It sets the scaling parameters for the passed ScaleAutomatism
object.
Especially it sets the m_fValueMinimum
and the m_fValueMaximum
parameters (see ScaleAutomatism::expandValueRange
). The value to be assigned to these two parameters is retrieved by invoking the getMinimum
and getMaximum
methods of the minimum-maximum supplier object that belongs to the given coordinate system. The minimum-maximum supplier object is set in the SeriesPlotterContainer::initializeCooSysAndSeriesPlotter
method to the series plotter which is based on the coordinate system (see notes for the method). For instance for a pie chart the m_fValueMinimum
and the m_fValueMaximum
parameters are initialized by the PieChart::getMinimum
and PieChart::getMaximum
methods.
Definition at line 343 of file VCoordinateSystem.cxx.
References Date::AddDays(), chart::ExplicitScaleData::AxisType, chart::MergedMinimumAndMaximumSupplier::calculateTimeResolutionOnXAxis(), chart::VAxisBase::estimateMaximumAutoMainIncrementCount(), chart::ScaleAutomatism::expandValueRange(), chart::DateHelper::GetDateSomeMonthsAway(), chart::DateHelper::GetDateSomeYearsAway(), getExplicitScale(), chart::MergedMinimumAndMaximumSupplier::getMaximumX(), chart::MergedMinimumAndMaximumSupplier::getMaximumYInRange(), chart::MergedMinimumAndMaximumSupplier::getMaximumZ(), chart::MergedMinimumAndMaximumSupplier::getMinimumX(), chart::MergedMinimumAndMaximumSupplier::getMinimumYInRange(), chart::MergedMinimumAndMaximumSupplier::getMinimumZ(), chart::ScaleAutomatism::getNullDate(), chart::ScaleAutomatism::getScale(), getVAxis(), chart::MergedMinimumAndMaximumSupplier::isExpandBorderToIncrementRhythm(), chart::MergedMinimumAndMaximumSupplier::isExpandIfValuesCloseToBorder(), chart::MergedMinimumAndMaximumSupplier::isExpandNarrowValuesTowardZero(), chart::MergedMinimumAndMaximumSupplier::isExpandWideValuesToZero(), m_aMergedMinMaxSupplier, chart::ExplicitScaleData::m_bShiftedCategoryPosition, chart::ExplicitScaleData::Maximum, chart::ExplicitScaleData::Minimum, chart::ExplicitScaleData::NullDate, chart::ScaleAutomatism::setAutomaticTimeResolution(), chart::ScaleAutomatism::setAutoScalingOptions(), chart::ScaleAutomatism::setMaximumAutoMainIncrementCount(), chart::MergedMinimumAndMaximumSupplier::setTimeResolutionOnXAxis(), and chart::ExplicitScaleData::TimeResolution.
void chart::VCoordinateSystem::set3DWallPositions | ( | CuboidPlanePosition | eLeftWallPos, |
CuboidPlanePosition | eBackWallPos, | ||
CuboidPlanePosition | eBottomPos | ||
) |
Definition at line 449 of file VCoordinateSystem.cxx.
References m_eBackWallPos, m_eBottomPos, and m_eLeftWallPos.
void chart::VCoordinateSystem::setExplicitCategoriesProvider | ( | ExplicitCategoriesProvider * | pExplicitCategoriesProvider | ) |
Definition at line 224 of file VCoordinateSystem.cxx.
References m_apExplicitCategoriesProvider.
void chart::VCoordinateSystem::setExplicitScaleAndIncrement | ( | sal_Int32 | nDimensionIndex, |
sal_Int32 | nAxisIndex, | ||
const ExplicitScaleData & | rExplicitScale, | ||
const ExplicitIncrementData & | rExplicitIncrement | ||
) |
Definition at line 428 of file VCoordinateSystem.cxx.
References impl_adjustDimension(), m_aExplicitIncrements, m_aExplicitScales, m_aSecondaryExplicitIncrements, and m_aSecondaryExplicitScales.
void chart::VCoordinateSystem::setParticle | ( | const OUString & | rCooSysParticle | ) |
Definition at line 118 of file VCoordinateSystem.cxx.
References m_aCooSysParticle.
void chart::VCoordinateSystem::setSeriesNamesForAxis | ( | const css::uno::Sequence< OUString > & | rSeriesNames | ) |
Definition at line 564 of file VCoordinateSystem.cxx.
References m_aSeriesNamesForZAxis.
void chart::VCoordinateSystem::setTransformationSceneToScreen | ( | const css::drawing::HomogenMatrix & | rMatrix | ) |
Definition at line 123 of file VCoordinateSystem.cxx.
References chart::VAxisBase::getDimensionCount(), m_aAxisMap, m_aMatrixSceneToScreen, and chart::VAxisOrGridBase::setTransformationSceneToScreen().
Referenced by chart::ChartView::impl_createDiagramAndContent().
void chart::VCoordinateSystem::updatePositions | ( | ) |
Definition at line 483 of file VCoordinateSystem.cxx.
References m_aAxisMap, and m_aMatrixSceneToScreen.
Referenced by chart::ChartView::impl_createDiagramAndContent().
|
virtual |
Reimplemented in chart::VCartesianCoordinateSystem, and chart::VPolarCoordinateSystem.
Definition at line 339 of file VCoordinateSystem.cxx.
|
protected |
Definition at line 192 of file VCoordinateSystem.hxx.
Referenced by createAxesLabels(), createAxesShapes(), createMaximumAxesLabels(), getVAxis(), setTransformationSceneToScreen(), and updatePositions().
|
protected |
Definition at line 168 of file VCoordinateSystem.hxx.
Referenced by createCIDForAxis(), createCIDForGrid(), and setParticle().
|
private |
Definition at line 196 of file VCoordinateSystem.hxx.
Referenced by getExplicitIncrement(), getExplicitIncrements(), and setExplicitScaleAndIncrement().
|
private |
Definition at line 195 of file VCoordinateSystem.hxx.
Referenced by createAxesShapes(), getExplicitScale(), getExplicitScales(), setExplicitScaleAndIncrement(), and VCoordinateSystem().
|
protected |
Definition at line 175 of file VCoordinateSystem.hxx.
Referenced by createAxesLabels(), createAxesShapes(), createMaximumAxesLabels(), getCoordinateSystemResolution(), getTransformationSceneToScreen(), setTransformationSceneToScreen(), and updatePositions().
|
protected |
Collection of min-max suppliers which are basically different chart types present in the same coordinate system.
This is used only for auto-scaling purposes.
Definition at line 186 of file VCoordinateSystem.hxx.
Referenced by addMinimumAndMaximumSupplier(), clearMinimumAndMaximumSupplierList(), hasMinimumAndMaximumSupplier(), and prepareAutomaticAxisScaling().
|
private |
Definition at line 204 of file VCoordinateSystem.hxx.
Referenced by getExplicitCategoriesProvider(), and setExplicitCategoriesProvider().
|
private |
Definition at line 202 of file VCoordinateSystem.hxx.
Referenced by getExplicitIncrement(), and setExplicitScaleAndIncrement().
|
private |
Definition at line 201 of file VCoordinateSystem.hxx.
Referenced by getExplicitScale(), getMaximumAxisIndexByDimension(), and setExplicitScaleAndIncrement().
|
protected |
Definition at line 188 of file VCoordinateSystem.hxx.
Referenced by setSeriesNamesForAxis().
|
protected |
Definition at line 178 of file VCoordinateSystem.hxx.
Referenced by set3DWallPositions().
|
protected |
Definition at line 179 of file VCoordinateSystem.hxx.
Referenced by set3DWallPositions().
|
protected |
Definition at line 177 of file VCoordinateSystem.hxx.
Referenced by set3DWallPositions().
|
protected |
Definition at line 166 of file VCoordinateSystem.hxx.
Referenced by getAxisByDimension(), getCoordinateSystemResolution(), getModel(), getNumberFormatKeyForAxis(), getPropertySwapXAndYAxis(), initPlottingTargets(), needSeriesNamesForAxis(), and VCoordinateSystem().
|
protected |
Definition at line 174 of file VCoordinateSystem.hxx.
Referenced by initPlottingTargets().
|
protected |
Definition at line 173 of file VCoordinateSystem.hxx.
Referenced by initPlottingTargets().
|
protected |
Definition at line 172 of file VCoordinateSystem.hxx.
Referenced by initPlottingTargets().