QgsCoordinateTransform::QgsCoordinateTransform( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) { d = new QgsCoordinateTransformPrivate( source, destination, QgsCoordinateTransformContext() ); if ( !d->checkValidity() ) return; if ( !setFromCache( d->mSourceCRS, d->mDestCRS, d->mSourceDatumTransform, d->mDestinationDatumTransform ) ) { d->initialize(); addToCache(); } }
void QgsCoordinateTransform::setDestinationCrs( const QgsCoordinateReferenceSystem &crs ) { d.detach(); d->mDestCRS = crs; if ( !d->checkValidity() ) return; d->calculateTransforms( mContext ); if ( !setFromCache( d->mSourceCRS, d->mDestCRS, d->mSourceDatumTransform, d->mDestinationDatumTransform ) ) { d->initialize(); addToCache(); } }
QgsCoordinateTransform::QgsCoordinateTransform( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination, int sourceDatumTransform, int destinationDatumTransform ) { d = new QgsCoordinateTransformPrivate( source, destination, sourceDatumTransform, destinationDatumTransform ); #ifdef QGISDEBUG mHasContext = true; // not strictly true, but we don't need to worry if datums have been explicitly set #endif if ( !d->checkValidity() ) return; if ( !setFromCache( d->mSourceCRS, d->mDestCRS, d->mSourceDatumTransform, d->mDestinationDatumTransform ) ) { d->initialize(); addToCache(); } }
QgsCoordinateTransform::QgsCoordinateTransform( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination, const QgsCoordinateTransformContext &context ) { mContext = context; d = new QgsCoordinateTransformPrivate( source, destination, mContext ); #ifdef QGISDEBUG mHasContext = true; #endif if ( !d->checkValidity() ) return; if ( !setFromCache( d->mSourceCRS, d->mDestCRS, d->mSourceDatumTransform, d->mDestinationDatumTransform ) ) { d->initialize(); addToCache(); } }
void QgsCoordinateTransform::setContext( const QgsCoordinateTransformContext &context ) { d.detach(); mContext = context; #ifdef QGISDEBUG mHasContext = true; #endif if ( !d->checkValidity() ) return; d->calculateTransforms( mContext ); if ( !setFromCache( d->mSourceCRS, d->mDestCRS, d->mSourceDatumTransform, d->mDestinationDatumTransform ) ) { d->initialize(); addToCache(); } }