17#ifndef QGSPROFILEPOINT_H 
   18#define QGSPROFILEPOINT_H 
   43  : mDistance( distance )
 
   44    , mElevation( elevation )
 
 
   66      mElevation = elevation;
 
 
   99      if ( isEmpty() && other.isEmpty() )
 
  101      if ( isEmpty() && !other.isEmpty() )
 
  103      if ( ! isEmpty() && other.isEmpty() )
 
  108      equal &= 
qgsDoubleNear( other.mElevation, mElevation, 1E-8 );
 
 
  115      if ( isEmpty() && other.isEmpty() )
 
  117      if ( isEmpty() && !other.isEmpty() )
 
  119      if ( ! isEmpty() && other.isEmpty() )
 
  124      equal &= 
qgsDoubleNear( other.mElevation, mElevation, 1E-8 );
 
 
  130    SIP_PYOBJECT __repr__();
 
  132    const QString str = sipCpp->isEmpty()
 
  133                        ? QStringLiteral( 
"<QgsProfilePoint: EMPTY>" )
 
  134                        : QStringLiteral( 
"<QgsProfilePoint: %1, %2>" ).arg( sipCpp->distance() ).arg( sipCpp->elevation() );
 
  135    sipRes = PyUnicode_FromString( str.toUtf8().constData() );
 
  143    SIP_PYOBJECT __getitem__( 
int );
 
  147      sipRes = Py_BuildValue( 
"d", sipCpp->distance() );
 
  151      sipRes = Py_BuildValue( 
"d", sipCpp->elevation() );
 
  155      QString msg = QString( 
"Bad index: %1" ).arg( a0 );
 
  156      PyErr_SetString( PyExc_IndexError, msg.toLatin1().constData() );
 
  164    double mDistance = 0;
 
  165    double mElevation = 0;
 
  166    bool mIsEmpty = 
true;
 
 
Encapsulates a point on a distance-elevation profile.
 
QgsProfilePoint()=default
Constructor for an empty point.
 
void setDistance(double distance)
Sets the distance of the point.
 
bool operator==(const QgsProfilePoint &other)
 
QgsProfilePoint(double distance, double elevation)
Create a point at the specified distance and elevation coordinates.
 
bool operator!=(const QgsProfilePoint &other) const
 
double elevation() const
Returns the elevation of the point.
 
double distance() const
Returns the distance of the point.
 
bool isEmpty() const
Returns true if the point is empty.
 
void setElevation(double elevation)
Sets the elevation of the point.
 
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference)