26#ifndef __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_H
27#define __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_H
30#include "../common/AbstractFactory.h"
91 static Raster*
make(
Grid* g,
const std::vector<BandProperty*> bands,
const std::map<std::string, std::string>& rinfo,
void* h = 0,
void (*deleter)(
void*) = 0);
109 static Raster*
make(
const std::string& rType,
Grid* g,
const std::vector<BandProperty*> bands,
const std::map<std::string, std::string>& rinfo,
void* h = 0,
void (*deleter)(
void*) = 0);
129 const std::vector<BandProperty*> bands,
130 const std::map<std::string, std::string>& rinfo,
131 const std::map<std::string, std::string>& metadata,
132 void* h = 0,
void (*deleter)(
void*) = 0);
147 static Raster*
make(
const std::map<std::string, std::string>& rinfo,
void* h = 0,
void (*deleter)(
void*) = 0);
163 static Raster*
make(
const std::string& rType,
const std::map<std::string, std::string>& rinfo,
void* h,
void (*deleter)(
void*) = 0);
221 virtual const std::string&
getType()
const = 0;
265 const std::map<std::string, std::string>& rinfo,
266 const std::map<std::string, std::string>& metadata,
267 void* h = 0,
void (*deleter)(
void*) = 0) = 0;
This class defines the interface of abstract factories without initializing parameters.
A rectified grid is the spatial support for raster data.
This is the abstract factory for Rasters.
virtual Raster * iOpen(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
This method may be re-implemented by subclasses in order to have a finner control for the raster obje...
virtual void getCreationalParameters(std::vector< std::pair< std::string, std::string > > ¶ms) const =0
It returns the list of parameters accepted as raster info.
static Raster * make(const std::string &rType, const std::map< std::string, std::string > &rinfo, void *h, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
virtual std::map< std::string, std::string > getCapabilities() const =0
It returns a map<string, string> containing all supported formats.
static Raster * make(Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using the default raster driver.
virtual const std::string & getType() const =0
Returns the type (name) of this factory.
RasterFactory(const std::string &factoryKey)
Constructor.
static Raster * make(const std::string &rType, Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, const std::map< std::string, std::string > &metadata, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
static Raster * open(const std::string &rType, const std::string &key, const std::string &value, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters.
static Raster * make(const std::string &rType)
It creates an empty raster with the proper driver.
virtual ~RasterFactory()
Destructor.
virtual Raster * create(Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, const std::map< std::string, std::string > &metadata, void *h=0, void(*deleter)(void *)=0)=0
This method must be implemented by subclasses (raster drivers).
static Raster * open(const std::string &key, const std::string &value, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters and default raster driver.
static Raster * make(const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using the default driver.
static Raster * make()
It creates and returns an empty raster with default raster driver.
static Raster * open(const std::string &rType, const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
It creates a raster with the given parameters.
static Raster * open(const std::map< std::string, std::string > &rinfo, te::common::AccessPolicy p=te::common::RAccess)
It opens a raster with the given parameters and default raster driver.
static Raster * make(const std::string &rType, Grid *g, const std::vector< BandProperty * > bands, const std::map< std::string, std::string > &rinfo, void *h=0, void(*deleter)(void *)=0)
It creates a raster with the given parameters using a proper driver.
An abstract class for raster data strucutures.
AccessPolicy
Supported data access policies (can be used as bitfield).
Raster implementaton for TerraLib 4.x.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.