QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QGCMapPolyline Class Reference

#include <QGCMapPolyline.h>

+ Inheritance diagram for QGCMapPolyline:
+ Collaboration diagram for QGCMapPolyline:

Signals

void countChanged (int count)
 
void pathChanged (void)
 
void dirtyChanged (bool dirty)
 
void cleared (void)
 
void interactiveChanged (bool interactive)
 
void isValidChanged (void)
 
void isEmptyChanged (void)
 
void traceModeChanged (bool traceMode)
 
void selectedVertexChanged (int index)
 

Public Member Functions

 QGCMapPolyline (QObject *parent=nullptr)
 
 QGCMapPolyline (const QGCMapPolyline &other, QObject *parent=nullptr)
 
 ~QGCMapPolyline () override
 
const QGCMapPolylineoperator= (const QGCMapPolyline &other)
 
int count READ count NOTIFY countChanged (QVariantList path READ path NOTIFY pathChanged) 1(QmlObjectListModel *pathModel READ qmlPathModel CONSTANT) 1(bool dirty READ dirty WRITE setDirty NOTIFY dirtyChanged) 1(bool interactive READ interactive WRITE setInteractive NOTIFY interactiveChanged) 1(bool isValid READ isValid NOTIFY isValidChanged) 1(bool empty READ empty NOTIFY isEmptyChanged) 1(bool traceMode READ traceMode WRITE setTraceMode NOTIFY traceModeChanged) 1(int selectedVertex READ selectedVertex WRITE selectVertex NOTIFY selectedVertexChanged) 1 void clear(void)
 
void appendVertex (const QGeoCoordinate &coordinate)
 
void removeVertex (int vertexIndex)
 
void appendVertices (const QList< QGeoCoordinate > &coordinates)
 
void adjustVertex (int vertexIndex, const QGeoCoordinate coordinate)
 
void splitSegment (int vertexIndex)
 Splits the line segment comprised of vertexIndex -> vertexIndex + 1.
 
QList< QGeoCoordinate > offsetPolyline (double distance)
 
bool loadKMLOrSHPFile (const QString &file)
 
void beginReset (void)
 
void endReset (void)
 
QList< QGeoCoordinate > coordinateList (void) const
 Returns the path in a list of QGeoCoordinate's format.
 
QGeoCoordinate vertexCoordinate (int vertex) const
 Returns the QGeoCoordinate for the vertex specified.
 
void saveToJson (QJsonObject &json)
 
bool loadFromJson (const QJsonObject &json, bool required, QString &errorString)
 
QList< QPointF > nedPolyline (void)
 Convert polyline to NED and return (D is ignored)
 
double length (void) const
 Returns the length of the polyline in meters.
 
int count (void) const
 
bool dirty (void) const
 
void setDirty (bool dirty)
 
bool interactive (void) const
 
QVariantList path (void) const
 
bool isValid (void) const
 
bool empty (void) const
 
bool traceMode (void) const
 
int selectedVertex () const
 
QmlObjectListModelqmlPathModel (void)
 
QmlObjectListModelpathModel (void)
 
void setPath (const QList< QGeoCoordinate > &path)
 
void setPath (const QVariantList &path)
 
void setInteractive (bool interactive)
 
void setTraceMode (bool traceMode)
 
void selectVertex (int index)
 

Static Public Attributes

static constexpr const char * jsonPolylineKey = "polyline"
 

Detailed Description

Definition at line 9 of file QGCMapPolyline.h.

Constructor & Destructor Documentation

◆ QGCMapPolyline() [1/2]

QGCMapPolyline::QGCMapPolyline ( QObject *  parent = nullptr)

Definition at line 15 of file QGCMapPolyline.cc.

◆ QGCMapPolyline() [2/2]

QGCMapPolyline::QGCMapPolyline ( const QGCMapPolyline other,
QObject *  parent = nullptr 
)

Definition at line 23 of file QGCMapPolyline.cc.

◆ ~QGCMapPolyline()

QGCMapPolyline::~QGCMapPolyline ( )
override

Definition at line 33 of file QGCMapPolyline.cc.

References pathChanged(), and qgcApp.

Member Function Documentation

◆ adjustVertex()

void QGCMapPolyline::adjustVertex ( int  vertexIndex,
const QGeoCoordinate  coordinate 
)

Adjust the value for the specified coordinate

Parameters
vertexIndexPolygon point index to modify (0-based)
coordinateNew coordinate for point

Definition at line 76 of file QGCMapPolyline.cc.

References pathChanged(), setDirty(), and QmlObjectListModel::value().

◆ appendVertex()

void QGCMapPolyline::appendVertex ( const QGeoCoordinate &  coordinate)

Definition at line 226 of file QGCMapPolyline.cc.

References QmlObjectListModel::append(), and pathChanged().

Referenced by operator=(), and splitSegment().

◆ appendVertices()

void QGCMapPolyline::appendVertices ( const QList< QGeoCoordinate > &  coordinates)

Definition at line 403 of file QGCMapPolyline.cc.

References QmlObjectListModel::append(), beginReset(), endReset(), and pathChanged().

Referenced by loadKMLOrSHPFile().

◆ beginReset()

void QGCMapPolyline::beginReset ( void  )

◆ cleared

void QGCMapPolyline::cleared ( void  )
signal

◆ coordinateList()

QList< QGeoCoordinate > QGCMapPolyline::coordinateList ( void  ) const

Returns the path in a list of QGeoCoordinate's format.

Definition at line 192 of file QGCMapPolyline.cc.

Referenced by CorridorScanComplexItem::setCoordinate().

◆ count()

int QGCMapPolyline::count ( void  ) const
inline

◆ countChanged [1/2]

void QGCMapPolyline::countChanged ( int  count)
signal

◆ countChanged() [2/2]

int count READ count NOTIFY QGCMapPolyline::countChanged ( QVariantList path READ path NOTIFY  pathChanged)

◆ dirty()

bool QGCMapPolyline::dirty ( void  ) const
inline

Definition at line 80 of file QGCMapPolyline.h.

Referenced by setDirty().

◆ dirtyChanged

void QGCMapPolyline::dirtyChanged ( bool  dirty)
signal

◆ empty()

bool QGCMapPolyline::empty ( void  ) const
inline

Definition at line 85 of file QGCMapPolyline.h.

References QmlObjectListModel::count().

◆ endReset()

void QGCMapPolyline::endReset ( void  )

◆ interactive()

bool QGCMapPolyline::interactive ( void  ) const
inline

Definition at line 82 of file QGCMapPolyline.h.

Referenced by setInteractive().

◆ interactiveChanged

void QGCMapPolyline::interactiveChanged ( bool  interactive)
signal

Referenced by setInteractive().

◆ isEmptyChanged

void QGCMapPolyline::isEmptyChanged ( void  )
signal

◆ isValid()

bool QGCMapPolyline::isValid ( void  ) const
inline

Definition at line 84 of file QGCMapPolyline.h.

References QmlObjectListModel::count().

◆ isValidChanged

void QGCMapPolyline::isValidChanged ( void  )
signal

◆ length()

double QGCMapPolyline::length ( void  ) const

Returns the length of the polyline in meters.

Definition at line 390 of file QGCMapPolyline.cc.

References length().

Referenced by length().

◆ loadFromJson()

bool QGCMapPolyline::loadFromJson ( const QJsonObject &  json,
bool  required,
QString &  errorString 
)

Load a polyline from json

Parameters
jsonJson object to load from
requiredtrue: no polygon in object will generate error
errorStringError string if return is false
Returns
true: success, false: failure (errorString set)

Definition at line 165 of file QGCMapPolyline.cc.

References QmlObjectListModel::append(), errorString, jsonPolylineKey, JsonHelper::loadGeoCoordinateArray(), pathChanged(), setDirty(), and JsonParsing::validateRequiredKeys().

◆ loadKMLOrSHPFile()

bool QGCMapPolyline::loadKMLOrSHPFile ( const QString &  file)

Loads a polyline from a KML/SHP file

Returns
true: success

Definition at line 355 of file QGCMapPolyline.cc.

References appendVertices(), beginReset(), endReset(), errorString, and qgcApp.

◆ nedPolyline()

QList< QPointF > QGCMapPolyline::nedPolyline ( void  )

Convert polyline to NED and return (D is ignored)

Definition at line 275 of file QGCMapPolyline.cc.

References QGCGeo::convertGeoToNed(), count(), nedPolyline(), and vertexCoordinate().

Referenced by nedPolyline(), and offsetPolyline().

◆ offsetPolyline()

QList< QGeoCoordinate > QGCMapPolyline::offsetPolyline ( double  distance)

Offsets the current polyline edges by the specified distance in meters

Returns
Offset set of vertices

Definition at line 298 of file QGCMapPolyline.cc.

References QGCGeo::convertNedToGeo(), count(), nedPolyline(), and vertexCoordinate().

◆ operator=()

const QGCMapPolyline & QGCMapPolyline::operator= ( const QGCMapPolyline other)

Definition at line 38 of file QGCMapPolyline.cc.

References appendVertex(), path(), and setDirty().

◆ path()

QVariantList QGCMapPolyline::path ( void  ) const
inline

Definition at line 83 of file QGCMapPolyline.h.

Referenced by operator=(), setPath(), and setPath().

◆ pathChanged

◆ pathModel()

QmlObjectListModel & QGCMapPolyline::pathModel ( void  )
inline

Definition at line 90 of file QGCMapPolyline.h.

◆ qmlPathModel()

QmlObjectListModel * QGCMapPolyline::qmlPathModel ( void  )
inline

Definition at line 89 of file QGCMapPolyline.h.

◆ removeVertex()

void QGCMapPolyline::removeVertex ( int  vertexIndex)

Definition at line 233 of file QGCMapPolyline.cc.

References pathChanged(), QmlObjectListModel::removeAt(), and selectVertex().

◆ saveToJson()

void QGCMapPolyline::saveToJson ( QJsonObject &  json)

Saves the polyline to the json object.

Parameters
jsonJson object to save to

Definition at line 156 of file QGCMapPolyline.cc.

References jsonPolylineKey, JsonHelper::saveGeoCoordinateArray(), and setDirty().

◆ selectedVertex()

int QGCMapPolyline::selectedVertex ( ) const
inline

Definition at line 87 of file QGCMapPolyline.h.

◆ selectedVertexChanged

void QGCMapPolyline::selectedVertexChanged ( int  index)
signal

Referenced by selectVertex().

◆ selectVertex()

void QGCMapPolyline::selectVertex ( int  index)

Definition at line 437 of file QGCMapPolyline.cc.

References count(), and selectedVertexChanged().

Referenced by removeVertex().

◆ setDirty()

void QGCMapPolyline::setDirty ( bool  dirty)

◆ setInteractive()

void QGCMapPolyline::setInteractive ( bool  interactive)

Definition at line 257 of file QGCMapPolyline.cc.

References interactive(), and interactiveChanged().

◆ setPath() [1/2]

void QGCMapPolyline::setPath ( const QList< QGeoCoordinate > &  path)

◆ setPath() [2/2]

void QGCMapPolyline::setPath ( const QVariantList &  path)

◆ setTraceMode()

void QGCMapPolyline::setTraceMode ( bool  traceMode)

Definition at line 429 of file QGCMapPolyline.cc.

References traceMode(), and traceModeChanged().

◆ splitSegment()

void QGCMapPolyline::splitSegment ( int  vertexIndex)

Splits the line segment comprised of vertexIndex -> vertexIndex + 1.

Definition at line 203 of file QGCMapPolyline.cc.

References appendVertex(), QmlObjectListModel::insert(), and pathChanged().

◆ traceMode()

bool QGCMapPolyline::traceMode ( void  ) const
inline

Definition at line 86 of file QGCMapPolyline.h.

Referenced by setTraceMode().

◆ traceModeChanged

void QGCMapPolyline::traceModeChanged ( bool  traceMode)
signal

◆ vertexCoordinate()

QGeoCoordinate QGCMapPolyline::vertexCoordinate ( int  vertex) const

Returns the QGeoCoordinate for the vertex specified.

Definition at line 265 of file QGCMapPolyline.cc.

Referenced by nedPolyline(), and offsetPolyline().

Member Data Documentation

◆ jsonPolylineKey

constexpr const char* QGCMapPolyline::jsonPolylineKey = "polyline"
staticconstexpr

Definition at line 98 of file QGCMapPolyline.h.

Referenced by loadFromJson(), and saveToJson().


The documentation for this class was generated from the following files: