summaryrefslogtreecommitdiff
path: root/src/positioningquick/positioningplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/positioningquick/positioningplugin.cpp')
-rw-r--r--src/positioningquick/positioningplugin.cpp555
1 files changed, 0 insertions, 555 deletions
diff --git a/src/positioningquick/positioningplugin.cpp b/src/positioningquick/positioningplugin.cpp
deleted file mode 100644
index 91a9c943..00000000
--- a/src/positioningquick/positioningplugin.cpp
+++ /dev/null
@@ -1,555 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtPositioning module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <private/qpositioningquickglobal_p.h>
-#include <QtPositioningQuick/private/qquickgeocoordinateanimation_p.h>
-#include <QtCore/QVariantAnimation>
-#include <QtQml/QQmlEngineExtensionPlugin>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmlbasictype coordinate
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.2
-
- \brief The coordinate type represents and stores a geographic position.
-
- This type is a QML representation of \l QGeoCoordinate and represents a geographic
- position in the form of \l {latitude}, \l longitude and \l altitude attributes.
- The \l latitude attribute specifies the number of
- decimal degrees above and below the equator. A positive latitude indicates the Northern
- Hemisphere and a negative latitude indicates the Southern Hemisphere. The \l longitude
- attribute specifies the number of decimal degrees east and west. A positive longitude
- indicates the Eastern Hemisphere and a negative longitude indicates the Western Hemisphere.
- The \l altitude attribute specifies the number of meters above sea level. Together, these
- attributes specify a 3-dimensional position anywhere on or near the Earth's surface.
-
- The \l isValid attribute can be used to test if a coordinate is valid. A coordinate is
- considered valid if it has a valid latitude and longitude. A valid altitude is not required.
- The latitude must be between -90 and 90 inclusive and the longitude must be between -180 and
- 180 inclusive.
-
- The \c coordinate type is used by many other types in the Qt Location module, for specifying
- the position of an object on a Map, the current position of a device and many other tasks.
- They also feature a number of important utility methods that make otherwise complex
- calculations simple to use, such as \l {atDistanceAndAzimuth}().
-
- \section1 Accuracy
-
- The latitude, longitude and altitude attributes stored in the coordinate type are represented
- as doubles, giving them approximately 16 decimal digits of precision -- enough to specify
- micrometers. The calculations performed in coordinate's methods such as \l {azimuthTo}() and
- \l {distanceTo}() also use doubles for all intermediate values, but the inherent inaccuracies in
- their spherical Earth model dominate the amount of error in their output.
-
- \section1 Example Usage
-
- Use properties of type \l var to store a \c {coordinate}. To create a \c coordinate use
- one of the methods described below. In all cases, specifying the \l altitude attribute is
- optional.
-
- To create a \c coordinate value, use the \l{QtPositioning::coordinate}{QtPositioning.coordinate()}
- function:
-
- \qml
- import QtPositioning
-
- Location { coordinate: QtPositioning.coordinate(-27.5, 153.1) }
- \endqml
-
- or as separate \l latitude, \l longitude and \l altitude components:
-
- \qml
- Location {
- coordinate {
- latitude: -27.5
- longitude: 153.1
- }
- }
- \endqml
-
- When integrating with C++, note that any QGeoCoordinate value passed into QML from C++ is
- automatically converted into a \c coordinate value, and vice-versa.
-
- \section1 Properties
-
- \section2 latitude
-
- \code
- real latitude
- \endcode
-
- This property holds the latitude value of the geographical position
- (decimal degrees). A positive latitude indicates the Northern Hemisphere,
- and a negative latitude indicates the Southern Hemisphere.
- If the property has not been set, its default value is NaN.
-
- For more details see the \l {QGeoCoordinate::latitude} property
-
- \section2 longitude
-
- \code
- real longitude
- \endcode
-
- This property holds the longitude value of the geographical position
- (decimal degrees). A positive longitude indicates the Eastern Hemisphere,
- and a negative longitude indicates the Western Hemisphere
- If the property has not been set, its default value is NaN.
-
- For more details see the \l {QGeoCoordinate::longitude} property
-
- \section2 altitude
-
- \code
- real altitude
- \endcode
-
- This property holds the altitude value (meters above sea level).
- If the property has not been set, its default value is NaN.
-
- For more details see the \l {QGeoCoordinate::altitude} property
-
- \section2 isValid
-
- \code
- bool isValid
- \endcode
-
- This property holds the current validity of the coordinate. Coordinates
- are considered valid if they have been set with a valid latitude and
- longitude (altitude is not required).
-
- The latitude must be between -90 to 90 inclusive to be considered valid,
- and the longitude must be between -180 to 180 inclusive to be considered
- valid.
-
- This is a read-only property.
-
- \section1 Methods
-
- \section2 distanceTo()
-
- \code
- real distanceTo(coordinate other)
- \endcode
-
- Returns the distance (in meters) from this coordinate to the coordinate specified by \a other.
- Altitude is not used in the calculation.
-
- This calculation returns the great-circle distance between the two coordinates, with an
- assumption that the Earth is spherical for the purpose of this calculation.
-
- \section2 azimuthTo()
-
- \code
- real azimuth(coordinate other)
- \endcode
-
- Returns the azimuth (or bearing) in degrees from this coordinate to the coordinate specified by
- \a other. Altitude is not used in the calculation.
-
- There is an assumption that the Earth is spherical for the purpose of this calculation.
-
- \section2 atDistanceAndAzimuth()
-
- \code
- coordinate atDistanceAndAzimuth(real distance, real azimuth)
- \endcode
-
- Returns the coordinate that is reached by traveling \a distance metres from this coordinate at
- \a azimuth degrees along a great-circle.
-
- There is an assumption that the Earth is spherical for the purpose of this calculation.
-*/
-
-/*!
- \qmlbasictype geoshape
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.2
-
- \brief A geoshape type represents an abstract geographic area.
-
- This type is a QML representation of \l QGeoShape which is an abstract geographic area.
- It includes attributes and methods common to all geographic areas. To create objects
- that represent a valid geographic area use \l {georectangle} or \l {geocircle}.
-
- The \l isValid attribute can be used to test if the geoshape represents a valid geographic
- area.
-
- The \l isEmpty attribute can be used to test if the geoshape represents a region with a
- geometrical area of 0.
-
- The \l {contains}() method can be used to test if a \l {coordinate} is
- within the geoshape.
-
- \section1 Example Usage
-
- Use properties of type \l var to store a \c {geoshape}. To create a \c geoshape use one
- of the methods described below.
-
- To create a \c geoshape value, specify it as a "shape()" string:
-
- \qml
- import QtPositioning
-
- Item {
- property var region: "shape()"
- }
- \endqml
-
- or with the \l {QtPositioning::shape}{QtPositioning.shape()} function:
-
- \qml
- import QtPositioning
-
- Item {
- property var region: QtPositioning.shape()
- }
- \endqml
-
- When integrating with C++, note that any QGeoShape value passed into QML from C++ is
- automatically converted into a \c geoshape value, and vice-versa.
-
- \section1 Properties
-
- \section2 isEmpty
-
- \code
- bool isEmpty
- \endcode
-
- Returns whether this geoshape is empty. An empty geoshape is a region which has
- a geometrical area of 0.
-
- \section2 isValid
-
- \code
- bool isValid
- \endcode
-
- Returns whether this geoshape is valid.
-
- A geoshape is considered to be invalid if some of the data that is required to
- unambiguously describe the geoshape has not been set or has been set to an
- unsuitable value.
-
- \section2 type
-
- \code
- ShapeType type
- \endcode
-
- Returns the current type of the shape.
-
- \list
- \li \c GeoShape.UnknownType - The shape's type is not known.
- \li \c GeoShape.RectangleType - The shape is a \l georectangle.
- \li \c GeoShape.CircleType - The shape is a \l geocircle.
- \li \c GeoShape.PathType - The shape is a \l geopath. (Since Qt 5.9)
- \li \c GeoShape.PolygonType - The shape is a \l geopolygon. (Since Qt 5.10)
- \endlist
-
- This QML property was introduced by Qt 5.5.
-
- \section1 Methods
-
- \section2 contains()
-
- \code
- bool contains(coordinate coord)
- \endcode
-
- Returns true if the \l {QtPositioning::coordinate}{coordinate} specified by \a coord is within
- this geoshape; Otherwise returns false.
-*/
-
-/*!
- \qmlbasictype georectangle
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.2
-
- \brief The georectangle type represents a rectangular geographic area.
-
- The \c georectangle type is a \l {geoshape} that represents a
- rectangular geographic area. The type is direct representation of a \l QGeoRectangle.
- It is defined by a pair of \l {coordinate}{coordinates} which represent the top-left
- and bottom-right corners of the \c {georectangle}. The coordinates are accessible
- from the \l topLeft and \l bottomRight attributes.
-
- A \c georectangle is considered invalid if the top-left or bottom-right coordinates are invalid
- or if the top-left coordinate is south of the bottom-right coordinate.
-
- The coordinates of the four corners of the \c georectangle can be accessed with the
- \l {topLeft}, \l {topRight}, \l {bottomLeft} and \l {bottomRight} attributes. The \l center
- attribute can be used to get the coordinate of the center of the \c georectangle. The \l width
- and \l height attributes can be used to get the width and height of the \c georectangle in
- degrees. Setting one of these attributes will cause the other attributes to be adjusted
- accordingly.
-
- \section1 Limitations
-
- A \c georectangle can never cross the poles.
-
- If the height or center of a \c georectangle is adjusted such that it would cross one of the
- poles the height is modified such that the \c georectangle touches but does not cross the pole
- and that the center coordinate is still in the center of the \c georectangle.
-
- \section1 Example Usage
-
- Use properties of type \l var to store a \c {georectangle}. To create a \c georectangle
- value, use the \l {QtPositioning::rectangle}{QtPositioning.rectangle()} function:
-
- \qml
- import QtPositioning
-
- Item {
- property var region: QtPositioning.rectangle(QtPositioning.coordinate(-27.5, 153.1), QtPositioning.coordinate(-27.6, 153.2))
- }
- \endqml
-
- When integrating with C++, note that any QGeoRectangle value passed into QML from C++ is
- automatically converted into a \c georectangle value, and vice-versa.
-
- \section1 Properties
-
- \section2 bottomLeft
-
- \code
- coordinate bottomLeft
- \endcode
-
- This property holds the bottom left coordinate of this georectangle.
-
- \section2 bottomRight
-
- \code
- coordinate bottomRight
- \endcode
-
- This property holds the bottom right coordinate of this georectangle.
-
- \section2 center
-
- \code
- coordinate center
- \endcode
-
- This property holds the center coordinate of this georectangle. For more details
- see \l {QGeoRectangle::setCenter()}.
-
- \section2 height
-
- \code
- double height
- \endcode
-
- This property holds the height of this georectangle (in degrees). For more details
- see \l {QGeoRectangle::setHeight()}.
-
- \note If the georectangle is invalid, it is not possible to set the height. QtPositioning
- releases prior to Qt 5.5 permitted the setting of the height even on invalid georectangles.
-
- \section2 topLeft
-
- \code
- coordinate topLeft
- \endcode
-
- This property holds the top left coordinate of this georectangle.
-
- \section2 topRight
-
- \code
- coordinate topRight
- \endcode
-
- This property holds the top right coordinate of this georectangle.
-
- \section2 width
-
- \code
- double width
- \endcode
-
- This property holds the width of this georectangle (in degrees). For more details
- see \l {QGeoRectangle::setWidth()}.
-
- \note If the georectangle is invalid, it is not possible to set the width. QtPositioning
- releases prior to Qt 5.5 permitted the setting of the width even on invalid georectangles.
-*/
-
-/*!
- \qmlbasictype geocircle
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.2
-
- \brief The geocircle type represents a circular geographic area.
-
- The \c geocircle type is a \l {geoshape} that represents a circular
- geographic area. It is a direct representation of a \l QGeoCircle and is defined
- in terms of a \l {coordinate} which specifies the \l center of the circle and
- a qreal which specifies the \l radius of the circle in meters.
-
- The circle is considered invalid if the \l center coordinate is invalid or if
- the \l radius is less than zero.
-
- \section1 Example Usage
-
- Use properties of type \l var to store a \c {geocircle}. To create a \c geocircle value,
- use the \l {QtPositioning::circle}{QtPositioning.circle()} function:
-
- \qml
- import QtPositioning
-
- Item {
- property var region: QtPositioning.circle(QtPositioning.coordinate(-27.5, 153.1), 1000)
- }
- \endqml
-
- When integrating with C++, note that any QGeoCircle value passed into QML from C++ is
- automatically converted into a \c geocircle value, and vise-versa.
-
- \section1 Properties
-
- \section2 center
-
- \code
- coordinate radius
- \endcode
-
- This property holds the coordinate of the center of the geocircle.
-
- \section2 radius
-
- \code
- real radius
- \endcode
-
- This property holds the radius of the geocircle in meters.
-
- The default value for the radius is -1 indicating an invalid geocircle area.
-*/
-
-/*!
- \qmlbasictype geopath
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.9
-
- \brief The geopath type represents a geographic path.
-
- The \c geopath type is a \l {geoshape} that represents a geographic
- path. It is a direct representation of a \l QGeoPath and is defined
- in terms of a \l {path} which holds the list of geo coordinates in the
- path.
-
- The path is considered invalid if it is empty.
-
- When integrating with C++, note that any QGeoPath value passed into QML from C++ is
- automatically converted into a \c geopath value, and vice versa.
-
- \section1 Properties
-
- \section2 path
-
- This property holds the list of coordinates defining the path.
-
- \section2 width
-
- This property holds the width of the path in meters. This is currently only used
- when calling the \l {contains}() method.
-
- The default value for the width is 0.
-*/
-
-/*!
- \qmlbasictype geopolygon
- \inqmlmodule QtPositioning
- \ingroup qml-QtPositioning5-basictypes
- \since 5.10
-
- \brief The geopolygon type represents a geographic polygon.
-
- The \c geopolygon type is a \l [QML] geoshape that represents a geographic
- polygon. It is a direct representation of QGeoPolygon and is defined in
- terms of a \l path which holds a list of geo coordinates in the polygon.
-
- The polygon is considered invalid if its path holds less than three
- coordinates.
-
- When integrating with C++, note that any QGeoPolygon value passed into QML
- is automatically converted into a \c geopolygon, and vice versa.
-
- \section1 Properties
-
- \section2 path
-
- This property holds the list of coordinates defining the polygon.
-*/
-
-class QtPositioningDeclarativeModule: public QQmlEngineExtensionPlugin
-{
- Q_OBJECT
-
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
-
-public:
- QtPositioningDeclarativeModule(QObject *parent = 0) : QQmlEngineExtensionPlugin(parent)
- {
- volatile auto registration = &qml_register_types_QtPositioning;
- Q_UNUSED(registration)
- }
-};
-
-void QtPositioningDeclarative_initializeModule()
-{
- qRegisterAnimationInterpolator<QGeoCoordinate>(q_coordinateInterpolator);
-}
-
-Q_CONSTRUCTOR_FUNCTION(QtPositioningDeclarative_initializeModule)
-
-QT_END_NAMESPACE
-
-#include "positioningplugin.moc"