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 void getCreationalParameters(std::vector< std::pair< std::string, std::string > > ¶ms) const =0
It returns the list of parameters accepted as raster info.
virtual std::map< std::string, std::string > getCapabilities() const =0
It returns a map<string, string> containing all supported formats.
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(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.
RasterFactory(const std::string &factoryKey)
Constructor.
static Raster * make()
It creates and returns an empty raster with default raster driver.
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::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 ~RasterFactory()
Destructor.
static Raster * make(const std::string &rType)
It creates an empty raster with the proper driver.
virtual const std::string & getType() const =0
Returns the type (name) of this factory.
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.
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::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.
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...
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(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.
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.