8#include "Kanoop/geo/geocoordinate.h"
9#include "Kanoop/kanoopcommon.h"
58 double radius()
const {
return _radius; }
70 double diameter()
const {
return _radius * 2; }
76 double area()
const {
return M_PI * (_radius * _radius); }
89 bool isValid()
const {
return _center.isValid() && _radius != 0; }
97 return QString(
"%1, %2").arg(_center.toString()).arg(radius());
A geographic circle defined by a GeoCoordinate centre and a radius in metres.
bool isValid() const
Test whether this circle has a valid centre and non-zero radius.
bool operator==(const GeoCircle &other) const
Equality comparison.
GeoCoordinate center() const
Return the centre coordinate.
GeoCircle(const GeoCoordinate ¢er, double radius)
Construct a GeoCircle from a centre coordinate and radius.
bool operator!=(const GeoCircle &other) const
Inequality comparison.
double radius() const
Return the radius in metres.
double area() const
Return the area in square metres.
double diameter() const
Return the diameter in metres.
bool contains(const GeoCoordinate &point) const
Test whether a coordinate falls within this circle.
QString toString() const
Format this circle as a human-readable string.
void setCenter(GeoCoordinate value)
Set the centre coordinate.
GeoCircle()
Default constructor — creates an invalid circle with zero radius.
void setRadius(double value)
Set the radius in metres.
static GeoCircle fromString(const QString &value)
Parse a GeoCircle from a string produced by toString().
A WGS-84 geographic coordinate (latitude, longitude, altitude).