- Qt 6.10
- Qt Positioning
- C++ Classes
- QGeoShape
- Qt 6.10.3 Reference Documentation

# QGeoShape Class

The QGeoShape class defines a geographic area. More...

Header: | `#include <QGeoShape>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Positioning)` `target_link_libraries(mytarget PRIVATE Qt6::Positioning)`
qmake: | `QT += positioning`
Inherited By: | QGeoCircle, QGeoPath, QGeoPolygon, and QGeoRectangle

- List of all members, including inherited members

## Public Types

enum | ShapeType { UnknownType, RectangleType, CircleType, PathType, PolygonType }

## Properties

- center : const QGeoCoordinate
- isEmpty : const bool
- isValid : const bool
- type : const ShapeType

## Public Functions

| QGeoShape()
| QGeoShape(const QGeoShape &other)
| ~QGeoShape()
QGeoRectangle | boundingGeoRectangle() const
QGeoCoordinate | center() const
bool | contains(const QGeoCoordinate &coordinate) const
bool | isEmpty() const
bool | isValid() const
QString | toString() const
QGeoShape::ShapeType | type() const
QGeoShape & | operator=(const QGeoShape &other)

## Related Non-Members

size_t | qHash(const QGeoShape &shape, size_t seed = 0)
bool | operator!=(const QGeoShape &lhs, const QGeoShape &rhs)
bool | operator==(const QGeoShape &lhs, const QGeoShape &rhs)

## Detailed Description

This class is the base class for classes which specify a geographic area.

For the sake of consistency, subclasses should describe the specific details of the associated areas in terms of QGeoCoordinate instances and distances in meters.

This class is a Q_GADGET since Qt 5.5. It can be directly used from C++ and QML.

## Member Type Documentation

### enum QGeoShape::ShapeType

Describes the type of the shape.

Constant | Value | Description
--- | --- | ---
`QGeoShape::UnknownType` | `0` | A shape of unknown type
`QGeoShape::RectangleType` | `1` | A rectangular shape
`QGeoShape::CircleType` | `2` | A circular shape
`QGeoShape::PathType` | `3` | A path type
`QGeoShape::PolygonType` | `4` | A polygon type

## Property Documentation

### `[read-only]` center : const QGeoCoordinate

This property holds the coordinate at the geometric center of the shape.

Access functions:

QGeoCoordinate | center() const

### `[read-only]` isEmpty : const bool

This property defines whether this geo shape is empty.

An empty geo shape is a region which has a geometrical area of 0.

While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.

Access functions:

bool | isEmpty() const

### `[read-only]` isValid : const bool

This property holds the validity of the geo shape.

A geo shape is considered to be invalid if some of the data that is required to unambiguously describe the geo shape has not been set or has been set to an unsuitable value depending on the subclass of this object. The default constructed objects of this type are invalid.

While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.

Access functions:

bool | isValid() const

### `[read-only]` type : const ShapeType

This property holds the type of this geo shape.

While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.

Access functions:

QGeoShape::ShapeType | type() const

## Member Function Documentation

### QGeoShape::QGeoShape()

Constructs a new invalid geo shape of UnknownType.

### `[invokable]` QGeoShape::QGeoShape(const QGeoShape &other)

Constructs a new geo shape which is a copy of other.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### `[noexcept]` QGeoShape::~QGeoShape()

Destroys this geo shape.

### `[invokable]` QGeoRectangle QGeoShape::boundingGeoRectangle() const

Returns a QGeoRectangle representing the geographical bounding rectangle of the geo shape, that defines the latitudinal/longitudinal bounds of the geo shape.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### QGeoCoordinate QGeoShape::center() const

Returns the coordinate located at the geometric center of the geo shape.

Note: Getter function for property center.

### `[invokable]` bool QGeoShape::contains(const QGeoCoordinate &coordinate) const

Returns whether the coordinate coordinate is contained within this geo shape.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### bool QGeoShape::isEmpty() const

Returns whether this geo shape is empty.

An empty geo shape is a region which has a geometrical area of 0.

Note: Getter function for property isEmpty.

### bool QGeoShape::isValid() const

Returns whether this geo shape is valid.

Note: Getter function for property isValid.

### `[invokable]` QString QGeoShape::toString() const

Returns a string representation of this geo shape.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

### QGeoShape::ShapeType QGeoShape::type() const

Returns the type of this geo shape.

Note: Getter function for property type.

### QGeoShape &QGeoShape::operator=(const QGeoShape &other)

Assigns other to this geo shape and returns a reference to this geo shape.

## Related Non-Members

### `[noexcept]` size_t qHash(const QGeoShape &shape, size_t seed = 0)

Returns the hash value for the shape, using seed for the calculation.

### bool operator!=(const QGeoShape &lhs, const QGeoShape &rhs)

Returns `true` if the lhs geo shape is not equivalent to the rhs geo shape, otherwise returns `false`.

### bool operator==(const QGeoShape &lhs, const QGeoShape &rhs)

Returns `true` if the lhs geo shape is equivalent to the rhs geo shape, otherwise returns `false`.