Tizen 2.0 Release
[framework/osp/locations.git] / src / FLoc_MathUtils.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  *
20  * @file        FLoc_MathUtils.h
21  * @brief       This is the header file for the _MathUtils class.
22  *
23  * This header file contains declaration of the _MathUtils class.
24  *
25  */
26
27 #ifndef _FLOC_INTERNAL_MATH_UTILS_H_
28 #define _FLOC_INTERNAL_MATH_UTILS_H_
29
30 namespace Tizen { namespace Locations
31 {
32
33 // forward declaration
34 class Location;
35 class _RegionInfo;
36
37 /**
38  * @class   _MathUtils
39  * @since 2.0
40  *
41  * This class provides fundamental constants and operations for helping mathematical calculation.
42  */
43 class _MathUtils
44 {
45 public:
46         // This method calculates the overlapped area between a region circle and the location uncertainty circle with horizontal accuracy as the radius.
47         // @since 2.0
48         //
49         static double CalculateOverlapRegion(const _RegionInfo& region, const Location& location);
50
51 public:
52         static const double PI;
53         static const double PI2;
54         static const double DEG2RAD;
55         static const double RAD2DEG;
56         static const double HALFPI;
57         static const double CENTRE_LATITUDE;
58
59 private:
60         _MathUtils(void);
61 };  // class _MathUtils
62
63 } } // Tizen::Locations
64
65 #endif // _FLOC_INTERNAL_MATH_UTILS_H_