summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl')
-rw-r--r--offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl187
1 files changed, 187 insertions, 0 deletions
diff --git a/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
new file mode 100644
index 000000000..c4313f42b
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XRegressionCurveCalculator.idl
@@ -0,0 +1,187 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef com_sun_star_chart2_XRegressionCurveCalculator_idl
+#define com_sun_star_chart2_XRegressionCurveCalculator_idl
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/geometry/RealPoint2D.idl>
+#include <com/sun/star/chart2/XScaling.idl>
+
+module com
+{
+module sun
+{
+module star
+{
+module chart2
+{
+
+interface XRegressionCurveCalculator : com::sun::star::uno::XInterface
+{
+ /** set calculation properties for curve calculation.
+
+ @param degree
+ Degree of polynomial regression curve, value should be greater than zero
+ If the curve is not polynomial, this property has no effect.
+
+ @param period
+ Period of a moving average regression curve, value should be greater or equal to 2
+ If the curve is not moving average regression curve, this property has no effect.
+
+ @param forceIntercept
+ Should force the intercept value.
+
+ @param interceptValue
+ Intercept value.
+
+ @param movingType
+ Only if regression type is "Moving Average"
+ @see ::com::sun::star::chart2::MovingAverageType
+
+ */
+ void setRegressionProperties( [in] long degree,
+ [in] boolean forceIntercept,
+ [in] double interceptValue,
+ [in] long period,
+ [in] long movingType);
+
+ /** recalculates the parameters of the internal regression curve according to
+ the <i>x</i>- and <i>y</i>-values given.
+
+ @param aXValues
+ All x-values that represent the measurement points on
+ which the regression is based
+
+ @param aYValues
+ All y-values that represent the measurement points on
+ which the regression is based
+ */
+ void recalculateRegression( [in] sequence< double > aXValues,
+ [in] sequence< double > aYValues);
+
+
+ /** calculates the value of the regression curve for <i>x</i>.
+
+ @param x
+ The abscissa value for which the value of the regression
+ curve should be calculated. All numbers that are part of
+ the domain of the regression function are valid.
+
+ @return
+ If <i>x</i> is element of the domain of the regression
+ curve function, the result is its value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If <i>x</i> is not part of the domain of the regression
+ function.
+ */
+ double getCurveValue( [in] double x )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** calculate multiple points of a regression curve at once. Note
+ that this method may optimize the output by returning less
+ points, e.g. for a line you may get only two resulting points
+ instead of nPointCount() points. This is only
+ allowed if the parameter
+ bMaySkipPointsInCalculation() is set to
+ `TRUE`.
+
+ <p>It is important that a renderer takes the scalings into
+ account. When one of these parameters is unknown, no
+ optimization must be done.</p>
+
+ @param min the abscissa value for the starting point.
+ @param max the abscissa value for the ending point.
+
+ @param nPointCount the number of points to calculate.
+
+ @param bMaySkipPointsInCalculation determines whether it is
+ allowed to skip points in the calculation. When this
+ parameter is `TRUE` it is assumed that the underlying
+ coordinate system is Cartesian.
+
+ @param xScalingX a scaling that is used for the values in
+ x-direction
+
+ @param xScalingY a scaling that is used for the values in
+ y-direction
+ */
+ sequence< com::sun::star::geometry::RealPoint2D > getCurveValues(
+ [in] double min,
+ [in] double max,
+ [in] long nPointCount,
+ [in] XScaling xScalingX,
+ [in] XScaling xScalingY,
+ [in] boolean bMaySkipPointsInCalculation )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** Returns the value of the correlation coefficient for the given
+ regression. This value is often denoted as <i>r</i> or
+ <i>R</i>.
+
+ <p>The value of <i>r</i> is signed. Often
+ <i>r</i><sup>2</sup> is used instead of <i>r</i> to denote
+ a regression curve's accuracy.</p>
+
+ @return
+ The return value is the fraction of the variance in the
+ data that is explained by the regression.
+ */
+ double getCorrelationCoefficient();
+
+ /** Retrieve a string showing the regression curve's function with
+ calculated parameters.
+
+ @return
+ The string returned contains the regression curve's
+ formula in a form <pre>"f(x) = ..."</pre>, where the
+ calculated parts are filled out. For a linear regression
+ you might get <pre>"f(x) = 0.341 x + 1.45"</pre>.
+ */
+ string getRepresentation();
+
+ /** Returns a representation using the given number format for formatting all numbers
+ contained in the formula. Wrap equation to fit in nFormulaLength characters
+
+ @see getRepresentation
+ */
+ string getFormattedRepresentation( [in] com::sun::star::util::XNumberFormatsSupplier xNumFmtSupplier,
+ [in] long nNumberFormatKey,
+ [in] long nFormulaLength );
+
+ /** Set the names of X and Y variables of the equation to replace "x" and "f(x)" in representation
+
+ @param aXName string of the name of X variable
+ @param aYName string of the name of Y variable
+ */
+ void setXYNames( [in] string aXName,
+ [in] string aYName );
+
+};
+
+} ; // chart2
+} ; // com
+} ; // sun
+} ; // star
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */