Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

GDALWarpOperation Class Reference

#include <gdalwarper.h>

List of all members.

Public Member Functions

CPLErr Initialize (const GDALWarpOptions *psNewOptions)
const GDALWarpOptionsGetOptions ()
CPLErr ChunkAndWarpImage (int nDstXOff, int nDstYOff, int nDstXSize, int nDstYSize)
CPLErr ChunkAndWarpMulti (int nDstXOff, int nDstYOff, int nDstXSize, int nDstYSize)
CPLErr WarpRegion (int nDstXOff, int nDstYOff, int nDstXSize, int nDstYSize, int nSrcXOff=0, int nSrcYOff=0, int nSrcXSize=0, int nSrcYSize=0)
CPLErr WarpRegionToBuffer (int nDstXOff, int nDstYOff, int nDstXSize, int nDstYSize, void *pDataBuf, GDALDataType eBufDataType, int nSrcXOff=0, int nSrcYOff=0, int nSrcXSize=0, int nSrcYSize=0)


Detailed Description

High level image warping class.

Warper Design

The overall GDAL high performance image warper is split into a few components.

Chunk Size Selection

The GDALWarpOptions ChunkAndWarpImage() method is responsible for invoking the WarpRegion() method on appropriate sized output chunks such that the memory required for the output image buffer, input image buffer and any required density and validity buffers is less than or equal to the application defined maximum memory available for use.

It checks the memory requrired by walking the edges of the output region, transforming the locations back into source pixel/line coordinates and establishing a bounding rectangle of source imagery that would be required for the output area. This is actually accomplished by the private GDALWarpOperation::ComputeSourceWindow() method.

Then memory requirements are used by totaling the memory required for all output bands, input bands, validity masks and density masks. If this is greater than the GDALWarpOptions::dfWarpMemoryLimit then the destination region is divided in two (splitting the longest dimension), and ChunkAndWarpImage() recursively invoked on each destination subregion.

Validity and Density Masks Generation

Fill in ways in which the validity and density masks may be generated here. Note that detailed semantics of the masks should be found in GDALWarpKernel.


Member Function Documentation

CPLErr GDALWarpOperation::Initialize const GDALWarpOptions psNewOptions  ) 
 

This method initializes the GDALWarpOperation's concept of the warp options in effect. It creates an internal copy of the GDALWarpOptions structure and defaults a variety of additional fields in the internal copy if not set in the provides warp options.

Defaulting operations include:

  • If the nBandCount is 0, it will be set to the number of bands in the source image (which must match the output image) and the panSrcBands and panDstBands will be populated.

Parameters:
psNewOptions input set of warp options. These are copied and may be destroyed after this call by the application.
Returns:
CE_None on success or CE_Failure if an error occurs.


The documentation for this class was generated from the following files:
Generated on Thu Apr 14 10:01:36 2005 for GDAL by  doxygen 1.4.2