1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef CHART2_POTENTIALREGRESSIONCURVECALCULATOR_HXX
24 #define CHART2_POTENTIALREGRESSIONCURVECALCULATOR_HXX
25 
26 #include "RegressionCurveCalculator.hxx"
27 #include "charttoolsdllapi.hxx"
28 
29 namespace chart
30 {
31 
32 
33 class PotentialRegressionCurveCalculator :
34         public RegressionCurveCalculator
35 {
36 public:
37 	PotentialRegressionCurveCalculator();
38 	virtual ~PotentialRegressionCurveCalculator();
39 
40 protected:
41     virtual ::rtl::OUString ImplGetRepresentation(
42         const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xNumFormatter,
43         ::sal_Int32 nNumberFormatKey ) const;
44 
45 private:
46     // ____ XRegressionCurveCalculator ____
47     virtual void SAL_CALL recalculateRegression(
48         const ::com::sun::star::uno::Sequence< double >& aXValues,
49         const ::com::sun::star::uno::Sequence< double >& aYValues )
50         throw (::com::sun::star::uno::RuntimeException);
51     virtual double SAL_CALL getCurveValue( double x )
52         throw (::com::sun::star::lang::IllegalArgumentException,
53                ::com::sun::star::uno::RuntimeException);
54     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::geometry::RealPoint2D > SAL_CALL getCurveValues(
55         double min,
56         double max,
57         ::sal_Int32 nPointCount,
58         const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XScaling >& xScalingX,
59         const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XScaling >& xScalingY,
60         ::sal_Bool bMaySkipPointsInCalculation )
61         throw (::com::sun::star::lang::IllegalArgumentException,
62                ::com::sun::star::uno::RuntimeException);
63 
64     // formula is: f(x) = x ^ m_fSlope * m_fIntercept
65     double m_fSlope;
66     double m_fIntercept;
67 };
68 
69 } //  namespace chart
70 
71 // CHART2_POTENTIALREGRESSIONCURVECALCULATOR_HXX
72 #endif
73