QGIS/python/analysis/raster/qgsrelief.sip
Nyall Dawson 752f6bd150 Fix classes which violate rule of three, by implementing required
copy/= operators or making them private

This revealed (and fixes) some issues, including a potential crash
using server access control (refs #13919), and a potential crash with
diagrams
2016-01-22 18:45:45 +11:00

43 lines
1.4 KiB
Plaintext

class QgsRelief
{
%TypeHeaderCode
#include <qgsrelief.h>
%End
public:
struct ReliefColor
{
ReliefColor( const QColor& c, double min, double max );
QColor color;
double minElevation;
double maxElevation;
};
QgsRelief( const QString& inputFile, const QString& outputFile, const QString& outputFormat );
~QgsRelief();
/** Starts the calculation, reads from mInputFile and stores the result in mOutputFile
@param p progress dialog that receives update and that is checked for abort. 0 if no progress bar is needed.
@return 0 in case of success*/
int processRaster( QProgressDialog* p );
double zFactor() const;
void setZFactor( double factor );
void clearReliefColors();
void addReliefColorClass( const QgsRelief::ReliefColor& color );
const QList< QgsRelief::ReliefColor >& reliefColors() const;
void setReliefColors( const QList< QgsRelief::ReliefColor >& c );
/** Calculates class breaks according with the method of Buenzli (2011) using an iterative algorithm for segmented regression
@return true in case of success*/
QList< QgsRelief::ReliefColor > calculateOptimizedReliefClasses();
/** Write frequency of elevation values to file for manual inspection*/
bool exportFrequencyDistributionToCsv( const QString& file );
private:
QgsRelief( const QgsRelief& rh );
};