10 #ifndef __TERRALIB_MNT_INTERNAL_TINGENERATION_H 
   11 #define __TERRALIB_MNT_INTERNAL_TINGENERATION_H 
   17 #include "../../dataaccess/dataset/DataSet.h" 
   18 #include "../../dataaccess/dataset/DataSetType.h" 
   19 #include "../../dataaccess/datasource/DataSource.h" 
   21 #include "../../geometry/MultiLineString.h" 
   22 #include "../../geometry/MultiPoint.h" 
   23 #include "../../geometry/PointZ.h" 
   59         std::string inDsetName,
 
   60         std::auto_ptr<te::da::DataSetType> inDsetType,
 
   70       void setBreakLine(
te::da::DataSourcePtr inDsrc, std::string inDsetName, std::auto_ptr<te::da::DataSetType> inDsetType, 
double tol);
 
   87       void setParams(
const double& tolerance,
 
   88         const double &maxdist,
 
   89         const double &minedgesize,
 
   90         const std::string &atrz_iso, 
const std::string &atrz_pt);
 
   96       void setMaxdist(
double maxdist) { m_maxdist = maxdist; };
 
  106       bool CreateInitialTriangles(
size_t nsamples);
 
  120       bool InsertNode(int32_t nodeid, 
int type);
 
  127       bool DeleteNode(int32_t node);
 
  135       bool NodeExchange(int32_t oldNode, int32_t newNode);
 
  144       bool TwoNewTriangles(int32_t t, int32_t nodeId, int32_t* testLines);
 
  154       int32_t DuplicateTriangle(int32_t t, 
short n, int32_t v, int32_t* testLines);
 
  164       bool DupNeighTriangle(int32_t tv, int32_t an0, 
short, int32_t v, int32_t *testLines);
 
  174       bool TestDelaunay(int32_t tri1Id, int32_t tri2Id, int32_t tri3Id);
 
  183       bool TestDelaunay(int32_t tri1Id, int32_t tri2Id, int32_t tri3Id, int32_t tri4Id);
 
  190       bool TestDelaunay(int32_t linId);
 
  198       bool TestDelaunay(int32_t triId, 
short nviz);
 
  207       bool UpdateTriangles(int32_t t, int32_t tv, int32_t ai);
 
  217       int32_t ExchangePolygon(int32_t triangId, int32_t newPolyId, 
unsigned short edge);
 
  224       bool IsIsolineSegment(int32_t linid);
 
  231       bool IsBreaklineSegment(int32_t linid);
 
  233       bool IsNeighborOnIsoOrBreakline(int32_t triId, 
unsigned short nviz);
 
  239       bool CreateDelaunay();
 
  248       bool GenerateDelaunay(int32_t nt, int32_t ntbase, int32_t contr);
 
  254       bool ModifyBoundTriangles();
 
  260       bool IsolinesConstrained();
 
  266       bool TestIsolines(
int iter);
 
  279       bool CreateMinAngleTriangulation();
 
  287       bool TestAngleBetweenNormals(int32_t triId, 
short nviz);
 
  293       bool InsertBreakLines();
 
  310       bool OnIsolineSegment(int32_t linid, 
te::gm::PointZ &pt3d, 
bool &fixed);
 
  322       bool ReCreateDelaunay();
 
  332       bool ReGenerateDelaunay(int32_t nt, int32_t ntbase, int32_t contr);
 
  337       bool TestFlatTriangles();
 
  339       bool RegeneratewithNewPoints(std::vector<te::gm::PointZ> &p3dl, std::vector<bool> &fixed);
 
void setTolerance(double tolerance)
 
boost::shared_ptr< DataSource > DataSourcePtr
 
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
std::string m_atrZ_sample
 
te::da::DataSourcePtr m_outDsrc
 
std::string m_inDsetName_point
 
double m_tolerance
Triangulation lines simplification tolerance. 
 
MultiPoint is a GeometryCollection whose elements are restricted to points. 
 
A point with z-coordinate value. 
 
double m_tolerance_break
Triangulation breaklines simplification tolerance. 
 
This file contains a class to define a TIN. Adapted from SPRING. 
 
std::string m_inDsetName_sample
 
te::da::DataSourcePtr m_inDsrc_point
 
std::auto_ptr< te::da::DataSetType > m_inDsetType_point
 
void setMethod(int method)
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
void setMaxdist(double maxdist)
 
MultiLineString is a MultiCurve whose elements are LineStrings. 
 
int m_method
Triangulation method Delanay or Smaller Angle. 
 
Class to define TIN strutures. 
 
std::auto_ptr< te::da::DataSetType > m_inDsetType_sample
 
te::da::DataSourcePtr m_inDsrc_break
 
te::da::DataSourcePtr m_inDsrc_sample
 
std::auto_ptr< te::da::DataSetType > m_inDsetType_break
 
double m_maxdist
Triangulation lines simplification maximum distance. 
 
std::string m_outDsetName
 
std::string m_inDsetName_break
 
void setMinedgesize(double minedgesize)
 
double m_minedgesize
Triangulation edges minimum size.