Qt Virtual Chart Table (QVCT)
CChartGDALElevation Class Reference

GDAL-based (elevation) chart. More...

#include <charts/CChartGDALElevation.hpp>

Inheritance diagram for CChartGDALElevation:
CChartGDAL

Public Member Functions

 CChartGDALElevation (const QString &_rqsFileName)
 
virtual ~CChartGDALElevation ()
 
CDataPosition toGeoPosition (const QPointF &_rqPointFDatPosition) const
 
double getElevation (const QPointF &_rqPointFDatPosition) const
 Returns the elevation at the given chart pixel position. More...
 
double getElevation (const CDataPosition &_roGeoPosition) const
 Returns the elevation at the given geographical position. More...
 
- Public Member Functions inherited from CChartGDAL
QVCT::EStatus getStatus () const
 Returns the chart internal status (after constructing object) More...
 
QString getFileName () const
 Returns the chart (GDAL dataset) file name. More...
 
QRect getDatGeometry () const
 Returns the chart (GDAL dataset) geometry (size) More...
 
EColorEncoding getColorEncoding () const
 Returns the chart (GDAL dataset) color encoding. More...
 
QPointF getDatPosition () const
 Returns the last drawn chart (GDAL dataset) center pixel position. More...
 
double getZoom () const
 Returns the last drawn chart (GDAL dataset) zoom factor. More...
 
CDataPosition toGeoPosition (const QPointF &_rqPointFDatPosition) const
 Converts the given chart pixel position to geographical position. More...
 
QPointF toDatPosition (const CDataPosition &_roGeoPosition) const
 Converts the given (geographical) position [long,lat,elev] to chart (GDAL dataset) point [px]. More...
 
double getResolution (const QPointF &_rqPointFDatPosition) const
 Returns the resolution at given chart (GDAL dataset) point [px], in meters per pixel [m/px]. More...
 
void draw (QPainter *_pqPainter, const QPointF &_rqPointFDatPosition, double _fdZoom)
 Draws chart, centered on given chart (GDAL dataset) point [px] and zoomed according to given factor. More...
 
void move (const QPointF &_rqPointFDatPosition, double _fdZoom)
 Moves the chart, centered on given chart (GDAL dataset) point [px] and zoomed according to given factor. More...
 

Protected Member Functions

virtual void rasterBuffer (QImage *_pqImage, const QVector< quint16 > &_rqVector) const
 Rasterizes UInt16 buffer. More...
 
virtual void rasterBuffer (QImage *_pqImage, const QVector< qint16 > &_rqVector) const
 Rasterizes Int16 buffer. More...
 
virtual void rasterBuffer (QImage *_pqImage, const QVector< quint32 > &_rqVector) const
 Rasterizes UInt32 buffer. More...
 
virtual void rasterBuffer (QImage *_pqImage, const QVector< qint32 > &_rqVector) const
 Rasterizes Int32 buffer. More...
 
virtual void rasterBuffer (QImage *_pqImage, const QVector< float > &_rqVector) const
 Rasterizes Float32 buffer. More...
 
virtual void rasterBuffer (QImage *_pqImage, const QVector< double > &_rqVector) const
 Rasterizes Float64 buffer. More...
 
- Protected Member Functions inherited from CChartGDAL
 CChartGDAL ()
 
virtual ~CChartGDAL ()
 
void open (const QString &_rqsFileName)
 Opens the underlying GDAL dataset. More...
 

Private Member Functions

uchar rasterValue (double _fdValue) const
 
double interpolateValue (double _fdP11, double _fdP21, double _fdP12, double _fdP22, double _fdX, double _fdY) const
 

Additional Inherited Members

- Public Types inherited from CChartGDAL
enum  EColorEncoding {
  GRAY , GRAY_U16 , GRAY_S16 , GRAY_U32 ,
  GRAY_S32 , GRAY_F32 , GRAY_F64 , PALETTE_GRAY ,
  PALETTE_RGB , PALETTE_CMYK , PALETTE_HSL , ARGB ,
  RGB , YUV
}
 Underlying GDAL dataset color encoding IDs. More...
 
- Protected Attributes inherited from CChartGDAL
QVCT::EStatus eStatus
 Chart internal status. More...
 
QString qsFileName
 Chart (GDAL dataset) file name. More...
 
QRect qRectGeometry
 Chart (GDAL dataset) geometry (size) More...
 
EColorEncoding eColorEncoding
 Chart (GDAL dataset) color encoding. More...
 
QPointF qPointFDatPositionWished
 Last drawn chart (GDAL dataset) center pixel position (requested by user) More...
 
QPointF qPointFDatPositionActual
 Last drawn chart (GDAL dataset) center pixel position (actually rendered) More...
 
double fdZoomWished
 Last drawn chart (GDAL dataset) zoom factor (requested by user) More...
 
double fdZoomActual
 Last drawn chart (GDAL dataset) zoom factor (actually rendered) More...
 
GDALDataset * poGDALDataset
 Underlying GDAL dataset. More...
 
void * pGDALProjectionTransformer
 Underlying GDAL dataset projection transformer (to internal WGS84) More...
 
int * piGDALBandMap
 Underlying GDAL dataset band mapping (for ARGB/RGB/YUV color encodings) More...
 
QPixmap qPixmapBuffer
 Pixmap buffer where the chart (GDAL dataset) is rendered (rasterized) More...
 
QVector< QRgb > qColorTable
 Color table (for GRAY/PALETTE_* color encodings) More...
 

Detailed Description

GDAL-based (elevation) chart.

This class wraps a GDAL dataset to be used as data-elevation-model (DEM) or rasterized as an elevation chart in QVCT.

All scalar types (UInt16 ... Float64) Gray color encodings are supported.

Author
Cedric Dufour http://cedric.dufour.name

Definition at line 47 of file CChartGDALElevation.hpp.

Constructor & Destructor Documentation

◆ CChartGDALElevation()

CChartGDALElevation::CChartGDALElevation ( const QString &  _rqsFileName)

Definition at line 35 of file CChartGDALElevation.cpp.

◆ ~CChartGDALElevation()

CChartGDALElevation::~CChartGDALElevation ( )
virtual

Definition at line 67 of file CChartGDALElevation.cpp.

Member Function Documentation

◆ toGeoPosition()

CDataPosition CChartGDALElevation::toGeoPosition ( const QPointF &  _rqPointFDatPosition) const

Definition at line 75 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [1/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< quint16 > &  _rqVector 
) const
protectedvirtual

Rasterizes UInt16 buffer.

Reimplemented from CChartGDAL.

Definition at line 87 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [2/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< qint16 > &  _rqVector 
) const
protectedvirtual

Rasterizes Int16 buffer.

Reimplemented from CChartGDAL.

Definition at line 96 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [3/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< quint32 > &  _rqVector 
) const
protectedvirtual

Rasterizes UInt32 buffer.

Reimplemented from CChartGDAL.

Definition at line 105 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [4/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< qint32 > &  _rqVector 
) const
protectedvirtual

Rasterizes Int32 buffer.

Reimplemented from CChartGDAL.

Definition at line 114 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [5/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< float > &  _rqVector 
) const
protectedvirtual

Rasterizes Float32 buffer.

Reimplemented from CChartGDAL.

Definition at line 123 of file CChartGDALElevation.cpp.

◆ rasterBuffer() [6/6]

void CChartGDALElevation::rasterBuffer ( QImage *  _pqImage,
const QVector< double > &  _rqVector 
) const
protectedvirtual

Rasterizes Float64 buffer.

Reimplemented from CChartGDAL.

Definition at line 132 of file CChartGDALElevation.cpp.

◆ getElevation() [1/2]

double CChartGDALElevation::getElevation ( const QPointF &  _rqPointFDatPosition) const

Returns the elevation at the given chart pixel position.

Definition at line 150 of file CChartGDALElevation.cpp.

◆ getElevation() [2/2]

double CChartGDALElevation::getElevation ( const CDataPosition _roGeoPosition) const

Returns the elevation at the given geographical position.

Definition at line 287 of file CChartGDALElevation.cpp.

◆ rasterValue()

uchar CChartGDALElevation::rasterValue ( double  _fdValue) const
private

Definition at line 292 of file CChartGDALElevation.cpp.

◆ interpolateValue()

double CChartGDALElevation::interpolateValue ( double  _fdP11,
double  _fdP21,
double  _fdP12,
double  _fdP22,
double  _fdX,
double  _fdY 
) const
private

Definition at line 300 of file CChartGDALElevation.cpp.


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