17 #ifndef QGSCOORDINATETRANSFORM_H 18 #define QGSCOORDINATETRANSFORM_H 20 #include <QExplicitlySharedDataPointer> 22 #include "qgsconfig.h" 23 #include "qgis_core.h" 28 class QgsCoordinateTransformPrivate;
137 int sourceDatumTransformId,
138 int destinationDatumTransformId );
157 bool isValid()
const;
245 void transformInPlace(
double &x,
double &y,
double &z,
TransformDirection direction = ForwardTransform ) const
SIP_THROW( QgsCsException );
259 void transformInPlace(
float &x,
float &y,
double &z,
TransformDirection direction = ForwardTransform ) const SIP_SKIP;
273 void transformInPlace(
float &x,
float &y,
float &z,
TransformDirection direction = ForwardTransform ) const SIP_SKIP;
287 void transformInPlace( QVector<
float> &x, QVector<
float> &y, QVector<
float> &z,
302 void transformInPlace( QVector<
double> &x, QVector<
double> &y, QVector<
double> &z,
332 void transformCoords(
int numPoint,
double *x,
double *y,
double *z,
TransformDirection direction = ForwardTransform ) const
SIP_THROW( QgsCsException );
337 bool isShortCircuited() const;
350 int sourceDatumTransformId() const;
363 void setSourceDatumTransformId(
int datumId );
376 int destinationDatumTransformId() const;
389 void setDestinationDatumTransformId(
int datumId );
397 static
void invalidateCache();
401 mutable QExplicitlySharedDataPointer<QgsCoordinateTransformPrivate> d;
407 bool mHasContext =
false;
412 int srcDatumTransform,
413 int destDatumTransform );
417 static QReadWriteLock sCacheLock;
426 QString mySummary( QStringLiteral(
"\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:" ) );
427 mySummary += QLatin1String(
"\n\tInitialized? : " );
443 mySummary +=
"\n\tShort Circuit? : ";
453 mySummary +=
"\n\tSource Spatial Ref Sys : ";
460 mySummary +=
"Undefined";
463 mySummary +=
"\n\tDest Spatial Ref Sys : ";
466 mySummary << r.destCRS();
470 mySummary +=
"Undefined";
474 mySummary += QLatin1String(
"\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n" );
475 return os << mySummary.toLocal8Bit().data() << std::endl;
480 #endif // QGSCOORDINATETRANSFORM_H A rectangle specified with double values.
A class to represent a 2D point.
Reads and writes project states.
Contains information about the context in which a coordinate transform is executed.
This class represents a coordinate reference system (CRS).
Custom exception class for Coordinate Reference System related exceptions.