8 #ifndef __TERRALIB_MNT_INTERNAL_UTILS_H     9 #define __TERRALIB_MNT_INTERNAL_UTILS_H    14 #include "../../common/UnitsOfMeasureManager.h"    16 #include "../../dataaccess/dataset/DataSet.h"    17 #include "../../dataaccess/dataset/DataSetType.h"    18 #include "../../dataaccess/datasource/DataSource.h"    20 #include "../../geometry/Coord2D.h"    21 #include "../../geometry/LineString.h"    22 #include "../../geometry/MultiLineString.h"    23 #include "../../geometry/MultiPoint.h"    24 #include "../../geometry/Point.h"    28 #define MIN(x, y) ( ((x) < (y)) ? (x) : (y) )    32 #define MAX(x, y) ( ((x) > (y)) ? (x) : (y) )    48   TEMNTEXPORT double Distance(
const double pt1x, 
const double pt1y, 
const double pt2x, 
const double pt2y);
    60   TEMNTEXPORT double SegmentDistance(
double fx, 
double fy, 
double lx, 
double ly, 
double ptx, 
double pty, 
double *pix, 
double *piy);
    82   TEMNTEXPORT bool extractLines(std::vector<te::gm::Point> &pline, std::vector<te::gm::LineString> &clinlist, 
double scale);
    85   TEMNTEXPORT bool assembLine(std::vector<te::gm::LineString> &linlout, std::vector<te::gm::Point> &vect);
 TEMNTEXPORT bool extractLines(std::vector< te::gm::Point > &pline, std::vector< te::gm::LineString > &clinlist, double scale)
 
TEMNTEXPORT bool defineInterEdge(std::vector< te::gm::Point > &, te::gm::Point &, te::gm::Point &, double)
 
boost::shared_ptr< DataSource > DataSourcePtr
 
TEMNTEXPORT bool equalFptSpt(te::gm::Point &fpt, te::gm::Point &spt, double scale)
 
A class that models the description of a dataset. 
 
TEMNTEXPORT bool Least_square_fitting(double *vectx, double *vecty, short np, short deg, double *coef)
 
TEMNTEXPORT bool Gauss_elimination(short m, short n, double mat[6][6])
 
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
TEMNTEXPORT te::gm::Point Min(te::gm::Point &p1, te::gm::Point &p2)
 
TEMNTEXPORT bool onSegment(te::gm::Point &pt, te::gm::Point &fseg, te::gm::Point &lseg, double tol)
 
TEMNTEXPORT bool initLineVector(std::vector< te::gm::Point > &pline, std::vector< te::gm::Point > &vect)
 
An utility struct for representing 2D coordinates. 
 
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
 
TEMNTEXPORT bool convertAngleToPlanar(double &val, te::common::UnitOfMeasurePtr planar, int type)
 
TEMNTEXPORT bool convertPlanarToAngle(double &val, te::common::UnitOfMeasurePtr unit)
 
MultiPoint is a GeometryCollection whose elements are restricted to points. 
 
LineString is a curve with linear interpolation between points. 
 
TEMNTEXPORT bool assembLine(std::vector< te::gm::LineString > &linlout, std::vector< te::gm::Point > &vect)
 
A point with x and y coordinate values. 
 
An Envelope defines a 2D rectangular region. 
 
TEMNTEXPORT void getMinMax(te::rst::Raster *inputRst, double &vmin, double &vmax)
 
An abstract class for raster data strucutures. 
 
TEMNTEXPORT int onSameSide(te::gm::Coord2D pt1, te::gm::Coord2D pt2, te::gm::Coord2D fseg, te::gm::Coord2D lseg)
 
TEMNTEXPORT te::mnt::mntType getMNTType(const te::da::DataSetType *dt)
 
TEMNTEXPORT bool testVertexValues(double, te::gm::Point *)
 
TEMNTEXPORT size_t ReadSamples(std::string &inDsetName, te::da::DataSourcePtr &inDsrc, std::string &atrZ, double tol, double max, Simplify alg, te::gm::MultiPoint &mpt, te::gm::MultiLineString &isolines, std::string &geostype, te::gm::Envelope &env, int srid=0)
 
TEMNTEXPORT te::gm::LineString * DouglasPeuckerTA(te::gm::LineString *lineIn, double simpFactor, double Zvalue)
 
MultiLineString is a MultiCurve whose elements are LineStrings. 
 
A dataset is the unit of information manipulated by the data access module of TerraLib. 
 
boost::shared_ptr< UnitOfMeasure > UnitOfMeasurePtr
 
TEMNTEXPORT bool normalizeVector(double *)
 
TEMNTEXPORT double coordToSegmentDistance(te::gm::Coord2D &fseg, te::gm::Coord2D &lseg, te::gm::Coord2D &pt, te::gm::Coord2D *pti)
 
TEMNTEXPORT bool point3dListFilter(std::vector< te::gm::Point > &p3dl, std::vector< bool > &fixed, double tol)
 
TEMNTEXPORT double pointToSegmentDistance(te::gm::Point &fseg, te::gm::Point &lseg, te::gm::Point &pt, te::gm::Point *pti)
 
TEMNTEXPORT double Distance(const te::gm::Coord2D &pt1, const te::gm::Coord2D &pt2)
 
TEMNTEXPORT bool Equal(te::gm::Point &p1, te::gm::Point &p2, double &tol)
 
TEMNTEXPORT bool SaveIso(std::string &outDsetName, te::da::DataSourcePtr &outDsrc, std::vector< te::gm::LineString > &isolist, std::vector< double > &guidevalues, int srid)
 
TEMNTEXPORT short segIntersect(te::gm::Point &pfr, te::gm::Point &pto, te::gm::Point &lfr, te::gm::Point <o)
 
TEMNTEXPORT te::gm::LineString * GEOS_DouglasPeucker(te::gm::LineString *ls, double snap, double Zvalue)
 
TEMNTEXPORT short findCenter(te::gm::Point *vert, double *pcx, double *pcy)
 
TEMNTEXPORT double SegmentDistance(double fx, double fy, double lx, double ly, double ptx, double pty, double *pix, double *piy)
 
TEMNTEXPORT bool triangleNormalVector(te::gm::Point *, double *)
 
TEMNTEXPORT void Save(te::da::DataSource *source, te::da::DataSet *result, te::da::DataSetType *outDsType)
 
TEMNTEXPORT bool defineInterTriangle(std::vector< te::gm::Point > &, te::gm::Point *, double)
 
TEMNTEXPORT double PerpendicularDistance(te::gm::Coord2D &first, te::gm::Coord2D &last, te::gm::Coord2D &pin, te::gm::Coord2D &pinter)
 
TEMNTEXPORT size_t ReadPoints(std::string &inDsetName, te::da::DataSourcePtr &inDsrc, std::string &atrZ, double tol, te::gm::MultiPoint &mpt, std::string &geostype, te::gm::Envelope &env)
 
TEMNTEXPORT bool segInterPoint(te::gm::Point &pfr, te::gm::Point &pto, te::gm::Point &lfr, te::gm::Point <o, te::gm::Point *pt)
 
TEMNTEXPORT te::gm::LineString * pointListSimplify(te::gm::LineString *ls, double snap, double maxdist, double Zvalue)
 
TEMNTEXPORT te::gm::Point Max(te::gm::Point &p1, te::gm::Point &p2)