te::mnt Namespace Reference

Namespace for DTM Processing module of TerraLib. More...

Classes

class  CalculateGrid
 
class  CreateIsolines
 
class  CreateIsolinesDialog
 
class  ImageGenerationDialog
 
class  LayerSearchDialog
 
class  MNTGenerationDialog
 
class  Profile
 
class  ProfileDialog
 
class  ProfileResultDialog
 
class  ProfileTools
 
class  Shadow
 
class  Slope
 
class  SlopeDialog
 
class  Smooth
 
class  SmoothIsolinesDialog
 
class  SplineInterpolationGrass
 
class  SplineInterpolationGrassMitasova
 
class  Tin
 Class to define TIN strutures. More...
 
class  TINCalculateGrid
 Class to calculate grid from TIN. More...
 
class  TINCreateIsolines
 Class to generate isolines from TIN. More...
 
class  TINGeneration
 Class to generate TIN. More...
 
class  TINGenerationDialog
 
class  TinLine
 
class  TinNode
 
class  TinTriang
 
class  Volume
 
class  VolumeDialog
 
class  VolumeResultDialog
 

Enumerations

enum  Curve { LINEARCURVE, BSPLINECURVE, CATMULLROMCURVE }
 
enum  InputType { Isolines, Samples }
 Input types. More...
 
enum  Interpolator {
  MediaCotaQuad, MediaQuad, MediaPonderada, Media,
  Vizinho, SplineBilinear, SplineBicubico, Mitasova,
  Bilinear, Bicubico, Linear, QuinticoBrkLine,
  Quintico
}
 
enum  Ltype { Deletedline, Normalline, Isoline, Breakline }
 
enum  mntType {
  SAMPLE, TIN, GRID, ISOLINE,
  OTHER
}
 
enum  Ntype {
  Deletednode, Normalnode, First, Last,
  Breaklinenormal, Breaklinefirst, Breaklinelast, Sample,
  Box
}
 
enum  Simplify { AccumulatedDistance, Spline, DouglasPeucker, None }
 
enum  ToolType {
  CreateLine, EditVertex, DeleteLine, InvertLine,
  ToolNone
}
 

Functions

TEMNTEXPORT bool assembLine (std::vector< std::unique_ptr< te::gm::LineString > > &linlout, std::vector< te::gm::Point > &vect)
 
TEMNTEXPORT bool convertAngleToPlanar (double &val, te::common::UnitOfMeasurePtr planar, int type)
 
TEMNTEXPORT bool convertPlanarToAngle (double &val, te::common::UnitOfMeasurePtr unit)
 
TEMNTEXPORT double coordToSegmentDistance (te::gm::Coord2D &fseg, te::gm::Coord2D &lseg, te::gm::Coord2D &pt, te::gm::Coord2D *pti)
 
TEMNTEXPORT bool defineInterEdge (std::vector< te::gm::Point > &, te::gm::Point &, te::gm::Point &, double)
 Function that defines the intersection with an edge of a triangle. More...
 
TEMNTEXPORT bool defineInterTriangle (std::vector< te::gm::Point > &, te::gm::Point *, double)
 Function that defines the intersections between an isoline and a triangle. More...
 
TEMNTEXPORT double Distance (const te::gm::Coord2D &pt1, const te::gm::Coord2D &pt2)
 
TEMNTEXPORT double Distance (const double pt1x, const double pt1y, const double pt2x, const double pt2y)
 
TEMNTEXPORT te::gm::LineStringDouglasPeuckerTA (te::gm::LineString *lineIn, double simpFactor, double Zvalue)
 
TEMNTEXPORT bool Equal (te::gm::Point &p1, te::gm::Point &p2, double &tol)
 
TEMNTEXPORT bool equalFptSpt (te::gm::Point &fpt, te::gm::Point &spt, double scale)
 
TEMNTEXPORT bool extractLines (std::vector< te::gm::Point > &pline, std::vector< std::unique_ptr< te::gm::LineString > > &clinlist, double scale)
 
TEMNTEXPORT short findCenter (te::gm::Point *vert, double *pcx, double *pcy)
 Function that finds the center of the vertices of a triangle. More...
 
TEMNTEXPORT bool Gauss_elimination (short m, short n, double mat[6][6])
 
TEMNTEXPORT te::gm::LineStringGEOS_DouglasPeucker (te::gm::LineString *ls, double snap, double Zvalue)
 
TEMNTEXPORT void getMinMax (te::rst::Raster *inputRst, double &vmin, double &vmax)
 
TEMNTEXPORT te::mnt::mntType getMNTType (const te::da::DataSetType *dt)
 
TEMNTEXPORT bool initLineVector (std::vector< te::gm::Point > &pline, std::vector< te::gm::Point > &vect)
 
TEMNTEXPORT bool Least_square_fitting (double *vectx, double *vecty, short np, short deg, double *coef)
 Function that performs a leat square fitting in a set of points. More...
 
TEMNTEXPORT te::gm::Point Max (te::gm::Point &p1, te::gm::Point &p2)
 
TEMNTEXPORT te::gm::Point Min (te::gm::Point &p1, te::gm::Point &p2)
 
TEMNTEXPORT bool normalizeVector (double *)
 Function that normalize a vector by its size. More...
 
TEMNTEXPORT int onSameSide (te::gm::Coord2D pt1, te::gm::Coord2D pt2, te::gm::Coord2D fseg, te::gm::Coord2D lseg)
 
TEMNTEXPORT bool onSegment (te::gm::Point &pt, te::gm::Point &fseg, te::gm::Point &lseg, double tol)
 Function that checks if a point pt is on a segment. More...
 
TEMNTEXPORT double PerpendicularDistance (te::gm::Coord2D &first, te::gm::Coord2D &last, te::gm::Coord2D &pin, te::gm::Coord2D &pinter)
 
TEMNTEXPORT bool point3dListFilter (std::vector< te::gm::Point > &p3dl, std::vector< bool > &fixed, double tol)
 Function that filters the points that are closer considering a given tolerance. More...
 
TEMNTEXPORT te::gm::LineStringpointListSimplify (te::gm::LineString *ls, double snap, double maxdist, double Zvalue)
 
TEMNTEXPORT double pointToSegmentDistance (te::gm::Point &fseg, te::gm::Point &lseg, te::gm::Point &pt, te::gm::Point *pti)
 
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 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 bool SaveIso (std::string &outDsetName, te::da::DataSourcePtr &outDsrc, std::vector< std::unique_ptr< te::gm::LineString > > &isolist, std::vector< double > &guidevalues, int srid)
 
TEMNTEXPORT bool segInterPoint (te::gm::Point &pfr, te::gm::Point &pto, te::gm::Point &lfr, te::gm::Point &lto, te::gm::Point *pt)
 Function for determines the point of two segment intersections. More...
 
TEMNTEXPORT short segIntersect (te::gm::Point &pfr, te::gm::Point &pto, te::gm::Point &lfr, te::gm::Point &lto)
 Function for check segment intersection. More...
 
TEMNTEXPORT double SegmentDistance (double fx, double fy, double lx, double ly, double ptx, double pty, double *pix, double *piy)
 Function that evaluates the distance between a point and a segment. More...
 
TEMNTEXPORT bool testVertexValues (double, te::gm::Point *)
 Function that test the vertex values. More...
 
TEMNTEXPORT bool triangleNormalVector (te::gm::Point *, double *)
 Function that defines the triangle normal vector. More...
 

Detailed Description

Namespace for DTM Processing module of TerraLib.

Enumeration Type Documentation

Enumerator
LINEARCURVE 
BSPLINECURVE 
CATMULLROMCURVE 

Definition at line 71 of file src/terralib/mnt/core/Enums.h.

Input types.

Enumerator
Isolines 
Samples 

Definition at line 48 of file src/terralib/mnt/core/Enums.h.

Enumerator
MediaCotaQuad 

Weighted Average/Z Value/Quadrant

MediaQuad 

Weighted Average/Quadrant

MediaPonderada 

Weighted Average

Media 

Simple Average

Vizinho 

Nearest Neighbor

SplineBilinear 

Bilinear Spline

SplineBicubico 

Bicubic Spline

Mitasova 

Mitasova Spline

Bilinear 

Bilinear

Bicubico 

Bicubic

Linear 

Linear

QuinticoBrkLine 

Quintic with breaklines

Quintico 

Quintic without breaklines

Definition at line 54 of file src/terralib/mnt/core/Enums.h.

Enumerator
Deletedline 
Normalline 
Isoline 
Breakline 

Definition at line 20 of file src/terralib/mnt/core/Enums.h.

Enumerator
SAMPLE 
TIN 
GRID 
ISOLINE 
OTHER 

Definition at line 78 of file src/terralib/mnt/core/Enums.h.

Enumerator
Deletednode 
Normalnode 
First 
Last 
Breaklinenormal 
Breaklinefirst 
Breaklinelast 
Sample 
Box 

Definition at line 31 of file src/terralib/mnt/core/Enums.h.

Enumerator
AccumulatedDistance 
Spline 
DouglasPeucker 
None 

Definition at line 87 of file src/terralib/mnt/core/Enums.h.

Enumerator
CreateLine 
EditVertex 
DeleteLine 
InvertLine 
ToolNone 

Definition at line 53 of file ProfileDialog.h.

Function Documentation

bool te::mnt::assembLine ( std::vector< std::unique_ptr< te::gm::LineString > > &  linlout,
std::vector< te::gm::Point > &  vect 
)

Definition at line 1059 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::LineStringZType.

Referenced by extractLines().

bool te::mnt::convertAngleToPlanar ( double &  val,
te::common::UnitOfMeasurePtr  planar,
int  type 
)
bool te::mnt::defineInterEdge ( std::vector< te::gm::Point > &  ptline,
te::gm::Point fpt,
te::gm::Point spt,
double  isolin 
)

Function that defines the intersection with an edge of a triangle.

Parameters
ptlineis a pointer to a Line object
fptand spt are the first and second point of the edge
Returns
TRUE if the intersection is defined or FALSE otherwise

Definition at line 914 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Point::getZ(), te::gm::PointZType, te::gm::Point::setX(), te::gm::Point::setY(), and te::gm::Point::setZ().

Referenced by defineInterTriangle().

bool te::mnt::defineInterTriangle ( std::vector< te::gm::Point > &  ptline,
te::gm::Point p3da,
double  isolin 
)

Function that defines the intersections between an isoline and a triangle.

Parameters
ptlineis a pointer to a Line object
p3dais a pointer to a Point3d object
Returns
TRUE if the intersections are defined or FALSE otherwise

Definition at line 864 of file src/terralib/mnt/core/Utils.cpp.

References defineInterEdge().

Referenced by te::mnt::TINCreateIsolines::run().

double te::mnt::Distance ( const double  pt1x,
const double  pt1y,
const double  pt2x,
const double  pt2y 
)
bool te::mnt::equalFptSpt ( te::gm::Point fpt,
te::gm::Point spt,
double  scale 
)

Definition at line 259 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), and te::gm::Point::getY().

Referenced by extractLines().

bool te::mnt::extractLines ( std::vector< te::gm::Point > &  pline,
std::vector< std::unique_ptr< te::gm::LineString > > &  clinlist,
double  scale 
)
short te::mnt::findCenter ( te::gm::Point vert,
double *  pcx,
double *  pcy 
)

Function that finds the center of the vertices of a triangle.

Parameters
vertis pointer to the triangle vertices
pcxand pcy are pointers to coordinates x and y of the vertex center points
Returns
TRUE if the centers are evaluated with no errors or FALSE otherwise

Definition at line 666 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), and te::gm::Point::getY().

Referenced by te::mnt::TINGeneration::TestDelaunay().

bool te::mnt::Gauss_elimination ( short  m,
short  n,
double  mat[6][6] 
)

Definition at line 1481 of file src/terralib/mnt/core/Utils.cpp.

Referenced by Least_square_fitting().

te::gm::LineString * te::mnt::GEOS_DouglasPeucker ( te::gm::LineString ls,
double  snap,
double  Zvalue 
)
bool te::mnt::initLineVector ( std::vector< te::gm::Point > &  pline,
std::vector< te::gm::Point > &  vect 
)

Definition at line 1026 of file src/terralib/mnt/core/Utils.cpp.

Referenced by extractLines().

bool te::mnt::Least_square_fitting ( double *  vectx,
double *  vecty,
short  np,
short  deg,
double *  coef 
)

Function that performs a leat square fitting in a set of points.

Parameters
vectxand vecty are the point coordinates
npis the number of points
degis degree of the polynomium used in the fitting
coefis a pointer to the the polynomiun coefficients
Returns
TRUE if the fitting was performed with no errors or FALSE otherwise

Definition at line 1383 of file src/terralib/mnt/core/Utils.cpp.

References Gauss_elimination().

Referenced by point3dListFilter().

bool te::mnt::normalizeVector ( double *  nvector)

Function that normalize a vector by its size.

Parameters
nvectoris a pointer to the vector coordinates x, y and z
Returns
TRUE always

Definition at line 1144 of file src/terralib/mnt/core/Utils.cpp.

Referenced by te::mnt::TINGeneration::TestAngleBetweenNormals().

bool te::mnt::onSegment ( te::gm::Point pt,
te::gm::Point fseg,
te::gm::Point lseg,
double  tol 
)

Function that checks if a point pt is on a segment.

Parameters
pt,fseg,lsegare pointers to Point objects
tolis the tolerance distance between the point and the segment
Returns
true if the point is on the segment or false otherwise

Definition at line 1169 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), and te::gm::Point::getY().

Referenced by te::mnt::TINGeneration::OnIsolineSegment().

double te::mnt::PerpendicularDistance ( te::gm::Coord2D first,
te::gm::Coord2D last,
te::gm::Coord2D pin,
te::gm::Coord2D pinter 
)
bool te::mnt::point3dListFilter ( std::vector< te::gm::Point > &  p3dl,
std::vector< bool > &  fixed,
double  tol 
)

Function that filters the points that are closer considering a given tolerance.

Parameters
p3dlis a pointer to a list of Point3dList objects
tolis a tolerance value
Returns
TRUE always

Definition at line 1237 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Point::getZ(), Least_square_fitting(), te::gm::PointZType, te::gm::Point::setX(), te::gm::Point::setY(), and te::gm::Point::setZ().

Referenced by te::mnt::TINGeneration::RegeneratewithNewPoints().

bool te::mnt::segInterPoint ( te::gm::Point pfr,
te::gm::Point pto,
te::gm::Point lfr,
te::gm::Point lto,
te::gm::Point pt 
)

Function for determines the point of two segment intersections.

Parameters
pfr,pto,lfr,ltoand pt are pointers to Point objects
Returns
TRUE if the intersection was calculated with no errors or FALSE otherwise

Definition at line 765 of file src/terralib/mnt/core/Utils.cpp.

References b, te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Point::setX(), and te::gm::Point::setY().

Referenced by te::mnt::TINGeneration::FindInterPoints(), and te::mnt::TINGeneration::TestIsolines().

short te::mnt::segIntersect ( te::gm::Point pfr,
te::gm::Point pto,
te::gm::Point lfr,
te::gm::Point lto 
)

Function for check segment intersection.

Parameters
pfr,pto,lfr,ltoare pointers to Point objects
Returns
point of intersection

Definition at line 752 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::PointZType, and segInterPoint().

Referenced by te::mnt::Tin::FindTriangle(), and te::mnt::TINGeneration::UpdateTriangles().

double te::mnt::SegmentDistance ( double  fx,
double  fy,
double  lx,
double  ly,
double  ptx,
double  pty,
double *  pix,
double *  piy 
)

Function that evaluates the distance between a point and a segment.

Parameters
fsegis a pointer to the segment first point
lsegis a pointer to the segment last point
ptis a pointer to the considered point
ptiis a pointer to the intersection point
Returns
the distance between the point and the segment

Definition at line 582 of file src/terralib/mnt/core/Utils.cpp.

References b, and sortpoints::c.

Referenced by coordToSegmentDistance(), and pointToSegmentDistance().

bool te::mnt::testVertexValues ( double  isolin,
te::gm::Point p3da 
)

Function that test the vertex values.

Parameters
isolinis the isolin value of a given isolin
p3dais a pointer to a vector with Point3d objects
Returns
TRUE if the vertex values are in the same isolin or FALSE otherwise

Definition at line 816 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::setZ().

Referenced by te::mnt::TINCreateIsolines::run().

bool te::mnt::triangleNormalVector ( te::gm::Point p3da,
double *  nvector 
)

Function that defines the triangle normal vector.

Parameters
p3daare pointers to objets Point3d representing the triangle vertices
nvectorare the coordinates of the normal vector
Returns
TRUE always

Definition at line 1081 of file src/terralib/mnt/core/Utils.cpp.

References te::gm::Point::getX(), te::gm::Point::getY(), and te::gm::Point::getZ().

Referenced by te::mnt::Tin::CalcNodeFirstDeriv(), te::mnt::Tin::CalcNodeSecondDeriv(), te::mnt::Tin::CalcTriangleSecondDeriv(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::Tin::TriangleFirstDeriv(), te::mnt::Slope::TriangleGradient(), and te::mnt::Tin::TriangleSecondDeriv().