1#ifndef FeatureNomenclature_h
2#define FeatureNomenclature_h
11class QNetworkAccessManager;
18template <
typename T>
class QList;
127 QString
name()
const;
Distance measurement, usually in meters.
A named feature on a target.
QUrl referenceUrl() const
QString lastUpdated() const
Latitude northernLatitude() const
Longitude centerLongitude() const
QString referenceString() const
Latitude centerLatitude() const
Longitude easternLongitude() const
QString referenceUrlString() const
~Feature()
Clean up allocated memory by this feature.
QString getTagText(QString tagName) const
Get the string value of an element of the XML.
QString cleanName() const
QString easternLongitudeString() const
IAUStatus m_approvalStatus
The approval status of the feature.
QString originatingContinent() const
QString controlNet() const
QString northernLatitudeString() const
Longitude westernLongitude() const
QWidget * toWidget() const
This converts the data in this feature to a widget.
QString diameterString() const
Distance diameter() const
QString centerLongitudeString() const
QString approvalDate() const
QDomElement * m_xmlRepresenation
This is the XML returned by the nomenclature DB.
QString displayName() const
Feature()
Construct a feature with no data.
Feature & operator=(const Feature &rhs)
Assign the values of this feature from the values of rhs.
QString centerLatitudeString() const
QString westernLongitudeString() const
Latitude southernLatitude() const
QString southernLatitudeString() const
QString approvalStatus() const
QString featureType() const
QString originatingEthnicity() const
void swap(Feature &other)
Swap the member data of this feature with another feature.
Feature nomenclature database querier.
void requestFinished(QNetworkReply *)
This is called when a query is done.
QList< Feature > features() const
This gives you the features found in all of the queries so far.
void readSearchResults(QDomElement)
This is a helper method for requestFinished.
bool m_lastQuery
True if all queries have finished.
QList< Feature > * m_features
These are the features identified by the nomenclature database.
void runQuery(QString target, Latitude startLat, Longitude startLon, Latitude endLat, Longitude endLon)
Query the nomenclature database for features inside the given range on the target.
QNetworkRequest * m_request
Network request sent.
void featuresIdentified(FeatureNomenclature *)
This is emitted when a query is completed.
void swap(FeatureNomenclature &other)
Swap the instances *this and other.
bool hasResult() const
Test if any understandable results have been received from the nomenclature database.
QNetworkAccessManager * m_networkMgr
Network manager does request.
IAUStatus
Enumeration of approval statuses.
@ Dropped
When this status is assigned to a feature, the displayed status will be "Dropped, disallowed" and the...
@ NoStatus
When this status is assigned to a feature, there will be no status displayed and the feature will not...
@ Unapproved
When this status is assigned to a feature, the displayed status will be "Never approved by the IAU" a...
@ Approved
When this status is assigned to a feature, the displayed status will be "Adopted by the IAU" and the ...
~FeatureNomenclature()
Frees allocated memory.
FeatureNomenclature()
Instantiate a feature nomenclature.
FeatureNomenclature & operator=(const FeatureNomenclature &other)
This takes on the data from rhs.
void queryFeatures(QString target, Latitude startLat, Longitude startLon, Latitude endLat, Longitude endLon)
Makes sure the longitudinal ranges are correct.
static bool featureDiameterGreaterThan(const FeatureNomenclature::Feature &lhs, const FeatureNomenclature::Feature &rhs)
Compare the diameter of two features.
IAUStatus m_statusApproval
The approval status of the feature from the database.
This class is designed to encapsulate the concept of a Latitude.
This class is designed to encapsulate the concept of a Longitude.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.