28#ifndef __TERRALIB_MNT_INTERNAL_CREATEISOLINES_H
29#define __TERRALIB_MNT_INTERNAL_CREATEISOLINES_H
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);
An auxiliary data structure for helping to control the garbage collection of C++ objects.
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
A class that models the description of a dataset.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
LineString is a curve with linear interpolation between points.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver.
te::da::DataSourcePtr m_outDsrc
static bool generateSegmentsThreaded(GenerateSegmentsParams *params)
te::da::DataSourcePtr m_inRasterDsrc
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::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)
std::unique_ptr< te::rst::Raster > getPrepareRaster()
std::vector< RasterBlockSize > calculateBlocks(unsigned int numRows, unsigned int numThreads)
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
A factory for data sources.
This file contains include headers for the Data Access module of TerraLib.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver.
Namespace for the DataAccess API of TerraLib.
boost::shared_ptr< DataSource > DataSourcePtr
Namespace for the Vector Geometry module of TerraLib.
Namespace for the memory data source of TerraLib.
Enumerations related to Vector Processing module.
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module.