28 #ifndef __TERRALIB_MNT_INTERNAL_CREATEISOLINES_H 
   29 #define __TERRALIB_MNT_INTERNAL_CREATEISOLINES_H 
   35 #include "../../../../src/terralib/dataaccess.h" 
   36 #include "../../../../src/terralib/dataaccess/datasource/DataSourceFactory.h" 
   37 #include "../../../../src/terralib/memory/DataSet.h" 
   38 #include "../../../../src/terralib/common/Holder.h" 
   39 #include "../../../../src/terralib/statistics/core/Enums.h" 
   49   namespace da  { 
class DataSetType; }
 
   50   namespace gm  { 
class Geometry; }
 
   51   namespace mem { 
class DataSet; }
 
   81     std::vector< te::gm::LineString* > 
m_lsOut;
 
  125         std::string inRasterName, 
 
  126         std::unique_ptr<te::da::DataSetType> inDsetType);
 
  130       void setParams(std::vector<double> &nval, std::vector<double> &gval, 
double vmax, 
double vmin, 
double dummy, 
bool hasDummy);
 
  134       bool run(std::unique_ptr<te::rst::Raster> raster);
 
  136       static bool generateSegments(std::unique_ptr<te::rst::Raster> raster, std::vector<double> nvals, std::vector< std::vector< te::gm::LineString* > >& vecSegments);
 
  138       static bool connectLines(std::vector< te::gm::LineString* >  vec, 
int srid, std::vector< te::gm::LineString* >& lsOut);
 
  144       static void firstCaseSpecial(
double quota, 
double& lineSupLeft, 
double& lineSupRigth, 
double& lineInfLeft, 
double& lineInfRigth);
 
  146       static void segments(
int idQuota,   std::unique_ptr<te::gm::LineString>  line, 
double quota, 
double ylg_sup, 
double xlg_ant, 
double xlg_pos, 
double ylg_inf,
 
  147       double& lineSupLeft, 
double& lineSupRigth, 
double& lineInfLeft, 
double& lineInfRigth, std::vector< std::vector<te::gm::LineString*> >& vecSegments);
 
  151       std::vector<RasterBlockSize> 
calculateBlocks(
unsigned int numRows, 
unsigned int numThreads);
 
  153       void rstMemoryBlock(std::unique_ptr<te::rst::Raster> raster, std::vector<RasterBlockSize> vecBlocks, std::vector<GenerateSegmentsParams*>& vecGenerateParams);
 
  155       bool connectLines1(std::vector<te::gm::LineString*>  vecSegments, 
double scale, std::vector<te::gm::LineString*>& lsOut);
 
  156       bool connectLines(std::vector<te::gm::LineString*>  vecSegments, std::vector<te::gm::LineString*>& lsOut);
 
std::vector< te::gm::LineString * > m_vecSegments
 
std::vector< te::gm::LineString * > m_lsOut
 
ConnectLinesParams()
Default constructor.
 
~ConnectLinesParams()
Virtual destructor.
 
std::unique_ptr< te::rst::Raster > m_rasterPtr
 
~GenerateSegmentsParams()
Virtual destructor.
 
std::vector< double > m_nvals
 
GenerateSegmentsParams()
Default constructor.
 
std::vector< std::vector< te::gm::LineString * > > m_vecSegments
 
LineString is a curve with linear interpolation between points.
 
te::da::DataSourcePtr m_outDsrc
 
static bool generateSegmentsThreaded(GenerateSegmentsParams *params)
 
te::da::DataSourcePtr m_inRasterDsrc
 
std::vector< RasterBlockSize > calculateBlocks(unsigned int numRows, unsigned int numThreads)
 
static bool connectLines(std::vector< te::gm::LineString * > vec, int srid, std::vector< te::gm::LineString * > &lsOut)
 
static void firstCaseSpecial(double quota, double &lineSupLeft, double &lineSupRigth, double &lineInfLeft, double &lineInfRigth)
 
std::unique_ptr< te::da::DataSetType > m_inRasterDsType
 
void rstMemoryBlock(std::unique_ptr< te::rst::Raster > raster, std::vector< RasterBlockSize > vecBlocks, std::vector< GenerateSegmentsParams * > &vecGenerateParams)
 
void setInput(te::da::DataSourcePtr inRasterDsrc, std::string inRasterName, std::unique_ptr< te::da::DataSetType > inDsetType)
 
bool connectLines1(std::vector< te::gm::LineString * > vecSegments, double scale, std::vector< te::gm::LineString * > &lsOut)
 
std::unique_ptr< te::rst::Raster > getPrepareRaster()
 
std::string m_outDsetName
 
std::vector< double > m_guidevalues
 
std::string m_inRasterName
 
void setOutput(te::da::DataSourcePtr outDsrc, std::string dsname)
 
bool run(std::unique_ptr< te::rst::Raster > raster)
 
static bool connectLinesThreaded(ConnectLinesParams *params)
 
void setParams(std::vector< double > &nval, std::vector< double > &gval, double vmax, double vmin, double dummy, bool hasDummy)
 
static void segments(int idQuota, std::unique_ptr< te::gm::LineString > line, double quota, double ylg_sup, double xlg_ant, double xlg_pos, double ylg_inf, double &lineSupLeft, double &lineSupRigth, double &lineInfLeft, double &lineInfRigth, std::vector< std::vector< te::gm::LineString * > > &vecSegments)
 
CreateIsolines()
Default constructor.
 
bool connectLines(std::vector< te::gm::LineString * > vecSegments, std::vector< te::gm::LineString * > &lsOut)
 
~CreateIsolines()
Virtual destructor.
 
static bool generateSegments(std::unique_ptr< te::rst::Raster > raster, std::vector< double > nvals, std::vector< std::vector< te::gm::LineString * > > &vecSegments)
 
static void interpolacao(int direction, te::gm::LineString *line, double quota, double coord, double c_inf, double c_sup, double z_inf, double z_sup)
 
std::vector< double > m_values
 
boost::shared_ptr< DataSource > DataSourcePtr
 
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
Proxy configuration file for TerraView (see terraview_config.h).