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.