26#ifndef __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_H
27#define __TERRALIB_RASTER_INTERNAL_RASTERFACTORY_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;
A class that defines the interface of an abstract factory.
This class defines the interface of abstract factories without initializing parameters.
A raster band description.
A rectified grid is the spatial support for raster data.
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).
Namespace for the Raster module of TerraLib.
An abstract class for raster data strucutures.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.