2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
20 * @file FLoc_MathUtils.h
21 * @brief This is the header file for the _MathUtils class.
23 * This header file contains declaration of the _MathUtils class.
27 #ifndef _FLOC_INTERNAL_MATH_UTILS_H_
28 #define _FLOC_INTERNAL_MATH_UTILS_H_
30 namespace Tizen { namespace Base { namespace Collection
35 namespace Tizen { namespace Locations
38 // forward declaration
46 * This class provides fundamental constants and operations for helping mathematical calculation.
51 // This method calculates the overlapped area between a region circle and the location uncertainty circle with horizontal accuracy as the radius.
54 static double CalculateOverlapRegion(const _RegionInfo& region, const Location& location);
56 // This method returns the distance between the user's current location and the the nearest boundary among the added monitoring regions.
59 static double GetShortestDistance(const Location& location, const Tizen::Base::Collection::IList& regionList);
63 static const double PI;
64 static const double PI2;
65 static const double DEG2RAD;
66 static const double RAD2DEG;
67 static const double HALFPI;
68 static const double CENTRE_LATITUDE;
72 }; // class _MathUtils
74 } } // Tizen::Locations
76 #endif // _FLOC_INTERNAL_MATH_UTILS_H_