Class to calculate grid from TIN. More...
#include <TINCalculateGrid.h>
Public Member Functions | |
| bool | BuildTriangle (int32_t id, te::gm::LinearRing *lr, double *val, int32_t *right, int32_t *left, te::mnt::Ntype *type, double zmin, double zmax, bool &first, KD_TREE &nodetree, te::sam::rtree::Index< std::size_t > &linetree) |
| double | getMax () |
| double | getMin () |
| bool | LoadTin (te::da::DataSourcePtr &inDsrc, std::string &inDsetName, double zmin=std::numeric_limits< double >::min(), double zmax=std::numeric_limits< double >::max()) |
| Method used to load a triangular network (TIN) More... | |
| bool | LoadTinQGIS (te::da::DataSourcePtr &inDsrc, std::string &inDsetName, double zmin, double zmax) |
| Method used to load a triangular network (TIN) generated by QGIS. More... | |
| bool | run () |
| Method that generates a regular Grid from a given TIN. More... | |
| bool | SaveTin (te::da::DataSourcePtr &outDsrc, std::string &outDsetName) |
| void | setEnvelope (te::gm::Envelope &env) |
| void | setInput (te::da::DataSourcePtr inDsrc, std::string inDsetName, std::unique_ptr< te::da::DataSetType > inDsetType) |
| It sets the Datasource that is being used to generate TIN. More... | |
| void | setOutput (std::map< std::string, std::string > &dsinfo) |
| It sets the Datasource that is being used to save TIN. More... | |
| void | setParams (double resx, double resy, Interpolator gt) |
| It sets the parameters that is being used to save TIN. More... | |
| void | setSRID (int srid) |
| TINCalculateGrid () | |
| ~TINCalculateGrid () | |
Protected Member Functions | |
| bool | BreakNodeClosestPoints (int32_t nid, int32_t *rClstNids, int32_t *lClstNids) |
| Method that searches the Break node closest points. More... | |
| bool | BreakNodeFirstDeriv () |
| Method that calculates the first derivatives in the nodes of a given break triangle. More... | |
| bool | BreakNodeSecondDeriv () |
| Method that calculates the second derivative at all triangulation break nodes. More... | |
| bool | BreakTriangleSecondDeriv () |
| Method that calculates the second derivatives in the nodes of a given break triangle. More... | |
| te::gm::Point | CalcNodeFirstDeriv (int32_t nodeId, int32_t clstNodes[CLNODES]) |
| Method that calculates the first derivative in a given node. More... | |
| TinNode | CalcNodeSecondDeriv (int32_t nodeId, int32_t clstNIds[CLNODES]) |
| Method that calculates the second derivative in a given node. More... | |
| bool | CalcTriangleSecondDeriv (std::vector< int32_t > &triangles, std::vector< te::gm::Point > &fderiv) |
| Method that calculates the second derivatives in a node of a given triangle. More... | |
| bool | CalcZvalueAkima (int32_t triid, te::gm::Point &pt1, te::gm::Point &pt2) |
| Method that evaluates Z values for pt1 and pt2 using the Akima polynomium fitted in a triangle. More... | |
| bool | CheckLines (int32_t trid) |
| Method that check the lines in a triangulation. More... | |
| bool | CheckTopology () |
| Method that check the topology in a triangulation. More... | |
| bool | ContainsPoint (int32_t triangId, te::gm::Point &pt) |
| Method that verifies if a triangle contains a given point. More... | |
| bool | DefineAkimaCoeficients (int32_t triid, double *coef) |
| Method that defines the coefficients of the Akima polynomium fitted in a given triangle. More... | |
| bool | DefineAkimaCoeficients (int32_t triid, int32_t *nodesid, te::gm::Point *p3d, double *coef) |
| Method that defines the coefficients of the Akima polynomium fitted in a given triangle. More... | |
| bool | DefineInterLinesColumns (int32_t *nodesid, int32_t &flin, int32_t &llin, int32_t &fcol, int32_t &lcol) |
| Method that calculates the lines and the columns intercepted by a triangle. More... | |
| bool | FillGridLinear (int32_t triid, te::gm::Point *p3da, int32_t flin, int32_t llin, int32_t fcol, int32_t lcol) |
| Method that fills the grid locations, inside a triangle, with a zvalue linearly evaluated. More... | |
| bool | FillGridQuintic (int32_t triid, int32_t flin, int32_t llin, int32_t fcol, int32_t lcol, double *coef) |
| Method that fills the grid locations, inside a triangle, with a zvalue evaluated by a quintic polynomium. More... | |
| bool | FillGridValue (int32_t triid, int32_t flin, int32_t llin, int32_t fcol, int32_t lcol, double zvalue) |
| Method that fills the grid locations, inside a triangle, with a zvalue. More... | |
| std::vector< int32_t > | FindLine (int32_t nid) |
| Method that find a line containing a specific node. More... | |
| int32_t | FindLine (int32_t fnid, int32_t snid) |
| Method that find a line given two nodes identification. More... | |
| int32_t | FindTriangle (te::gm::Point &ptr1) |
| Method that finds a triangle containing a given point. More... | |
| te::da::DataSetType * | GetDataSetType (std::string &outDsetName) |
| bool | NeighborsId (int32_t triangId, int32_t *neighsId) |
| int32_t | NextNode (int32_t nodeId) |
| Method that finds out which is the next node. More... | |
| bool | NodeClosestPoints (int32_t nid, int32_t *clstNids, bool useBrNode=true) |
| Method that searches the closest points of a specific node. More... | |
| bool | NodeDerivatives () |
| Method that calculates the first and second derivatives in the nodes of a given triangle. More... | |
| bool | NodeFirstDeriv () |
| Method that calculates the first derivatives in the nodes of a given triangle. More... | |
| int32_t | NodeId (int32_t triangId, short vertex) |
| Method that reads the identification number of the nodes of a given triangle. More... | |
| bool | NodeLines (int32_t v, std::vector< int32_t > &linids) |
| Method that includes a node in the tin line list. More... | |
| bool | NodeNodes (int32_t v, std::vector< int32_t > &nodids) |
| Method that includes a node in the tin node list. More... | |
| bool | NodeOppositeLines (int32_t v, std::vector< int32_t > &linids) |
| Method that find the oposite lines of a specific node. More... | |
| bool | NodeSecondDeriv () |
| Method that calculates the second derivative at all triangulation nodes. More... | |
| bool | NodesId (int32_t triangId, int32_t *nodeIds) |
| Method that reads the identification number of the nodes of a given triangle. More... | |
| int32_t | NodeTriangle (int32_t v) |
| Method that search a node in a triangulation. More... | |
| bool | NodeTriangles (int32_t v, std::vector< int32_t > &triangles) |
| Method that includes a node in a triangle list. More... | |
| bool | NodeTriangles (int32_t nodeid, std::vector< int32_t > &rightri, std::vector< int32_t > &leftri) |
| Method that find the triangle list sharing a given node. More... | |
| int32_t | OppositeEdge (int32_t triangId, int32_t nodeId) |
| Method that reads the identification number of the opposite edge of a given node. More... | |
| int32_t | OppositeNode (int32_t triangId, int32_t linId) |
| Method that reads the identification number of the opposite node of a given edge. More... | |
| int32_t | PreviousNode (int32_t nodeId) |
| Method that finds out which is the previous node. More... | |
| bool | ReallocateVectors (size_t nSize) |
| Method that reallocates Vectors. More... | |
| bool | TriangleFirstDeriv () |
| Method that calculates the first derivatives in the nodes of a given triangle. More... | |
| bool | TrianglePoints (int32_t triangId, te::gm::Point *vertex) |
| Method that reads the vertex (points) of a given triangle. More... | |
| bool | TriangleSecondDeriv () |
| Method that calculates the second derivatives in the nodes of a given triangle. More... | |
Protected Attributes | |
| std::map< std::string, std::string > | m_dsinfo |
| te::gm::Envelope | m_env |
| Attribute used to restrict the area to generate the samples. More... | |
| int32_t | m_fbnode |
| First break node number. More... | |
| Interpolator | m_gridtype |
| std::string | m_inDsetName |
| std::unique_ptr< te::da::DataSetType > | m_inDsetType |
| te::da::DataSourcePtr | m_inDsrc |
| std::vector< TinLine > | m_line |
| Triangulation lines vector. More... | |
| size_t | m_linesize |
| Triangulation lines vector size. More... | |
| int32_t | m_lline |
| Triangulation last line number. More... | |
| int32_t | m_lnode |
| Triangulation last node number. More... | |
| int32_t | m_ltriang |
| Triangulation last triangle number. More... | |
| double | m_max |
| double | m_min |
| std::vector< te::gm::Point > | m_nblfderiv |
| std::vector< TinNode > | m_nblsderiv |
| std::vector< te::gm::Point > | m_nbrfderiv |
| std::vector< TinNode > | m_nbrsderiv |
| std::vector< te::gm::Point > | m_nfderiv |
| double | m_nodatavalue |
| std::vector< TinNode > | m_node |
| Triangulation nodes vector. More... | |
| size_t | m_nodesize |
| Triangulation nodes vector size. More... | |
| std::vector< TinNode > | m_nsderiv |
| double | m_resx |
| double | m_resy |
| te::rst::Raster * | m_rst |
| int | m_srid |
| Attribute with spatial reference information. More... | |
| std::vector< te::gm::Point > | m_tfderiv |
| std::vector< TinTriang > | m_triang |
| Triangulation triangles vector. More... | |
| size_t | m_triangsize |
| Triangulation triangles vector size. More... | |
| std::vector< TinNode > | m_tsderiv |
Class to calculate grid from TIN.
Definition at line 35 of file TINCalculateGrid.h.
|
inline |
Definition at line 38 of file TINCalculateGrid.h.
| te::mnt::TINCalculateGrid::~TINCalculateGrid | ( | ) |
Definition at line 20 of file TINCalculateGrid.cpp.
References te::mnt::Tin::m_rst.
|
protectedinherited |
Method that searches the Break node closest points.
| nid | is the node identification number |
| rClstNids | is a pointer to a list of right node identificators |
| lClstNids | is a pointer to a list of left node identificators |
Definition at line 2547 of file Tin.cpp.
References CLNODES, te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), and te::mnt::TinLine::getRightPolygon().
|
protectedinherited |
Method that calculates the first derivatives in the nodes of a given break triangle.
|
protectedinherited |
Method that calculates the second derivative at all triangulation break nodes.
Definition at line 2768 of file Tin.cpp.
References te::mnt::Breaklinenormal, CLNODES, te::mnt::Deletednode, te::mnt::TinLine::getType(), te::mnt::TinNode::getX(), te::mnt::TinNode::getY(), and te::mnt::TinNode::getZ().
|
protectedinherited |
Method that calculates the second derivatives in the nodes of a given break triangle.
Definition at line 2417 of file Tin.cpp.
References te::mnt::Breaklinefirst, te::mnt::Breaklinelast, te::mnt::Deletednode, te::mnt::TinLine::getType(), te::common::TaskProgress::isActive(), te::common::TaskProgress::pulse(), and te::common::TaskProgress::UNDEFINED.
|
inherited |
Definition at line 1427 of file Tin.cpp.
References te::mnt::Breaklinefirst, te::gm::Geometry::getMBR(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::gm::LineString::getPointN(), te::mnt::TinNode::getType(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::mnt::TinNode::Init(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::sam::kdtree::Index< KdTreeNode >::insert(), te::mnt::Normalline, p, te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::sam::kdtree::Index< KdTreeNode >::search(), and te::mnt::TinLine::TinLine().
|
protectedinherited |
Method that calculates the first derivative in a given node.
| nodeid | is the node identification number |
| clstNodes | is the vector of a list of nodes) |
Definition at line 2132 of file Tin.cpp.
References CLNODES, te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Point::getZ(), te::gm::PointZType, te::gm::Point::setX(), te::gm::Point::setY(), te::gm::Point::setZ(), and te::mnt::triangleNormalVector().
|
protectedinherited |
Method that calculates the second derivative in a given node.
| nodeid | is the node identification number |
| clstNIds | is the vector of a list of nodes identification |
Definition at line 2206 of file Tin.cpp.
References te::mnt::Breaklinenormal, CLNODES, te::mnt::Deletednode, te::mnt::TinLine::getType(), te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Point::getZ(), te::common::TaskProgress::isActive(), te::gm::PointZType, te::common::TaskProgress::pulse(), te::gm::Point::setX(), te::mnt::TinNode::setX(), te::gm::Point::setY(), te::mnt::TinNode::setY(), te::gm::Point::setZ(), te::mnt::TinNode::setZ(), te::mnt::triangleNormalVector(), and te::common::TaskProgress::UNDEFINED.
|
protectedinherited |
Method that calculates the second derivatives in a node of a given triangle.
| triangles | is a pointer to a list of triangle identificators (SIDList object) |
| fderiv | is a pointer to a Point object representing the first derivative in x and y directions |
Definition at line 2672 of file Tin.cpp.
References te::mnt::TinLine::getType(), te::mnt::Last, te::gm::PointZType, te::mnt::Sample, and te::mnt::triangleNormalVector().
|
protectedinherited |
Method that evaluates Z values for pt1 and pt2 using the Akima polynomium fitted in a triangle.
| triid | is the triangle identificator number |
| pt1 | is a pointer to a Point3d object |
| pt2 | is a pointer to a Point3d object |
Definition at line 2933 of file Tin.cpp.
References te::gm::Point::getX(), te::gm::Point::getY(), and te::gm::Point::setZ().
Referenced by te::mnt::TINGeneration::FindInterPoints(), and te::mnt::TINGeneration::TestFlatTriangles().
|
protectedinherited |
Method that check the lines in a triangulation.
Definition at line 2886 of file Tin.cpp.
References b, d, te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), and te::mnt::TinLine::SwapPolygon().
|
protectedinherited |
Method that check the topology in a triangulation.
Definition at line 2873 of file Tin.cpp.
Referenced by te::mnt::TINGeneration::RegeneratewithNewPoints().
|
protectedinherited |
Method that verifies if a triangle contains a given point.
| triangId | is the triangle identification number |
| pt | is a pointer to a te::gm::PointZ object |
Definition at line 461 of file Tin.cpp.
References te::gm::Point::getX(), te::gm::Point::getY(), and te::gm::PointZType.
Referenced by FillGridLinear(), and FillGridQuintic().
|
protectedinherited |
Method that defines the coefficients of the Akima polynomium fitted in a given triangle.
| triid | is the triangle identification number |
| coef | is a pointer to a double vector containing the polynomium coefficients |
Definition at line 2991 of file Tin.cpp.
References te::gm::PointZType, te::gm::Point::setX(), te::gm::Point::setY(), and te::gm::Point::setZ().
Referenced by run().
|
protectedinherited |
Method that defines the coefficients of the Akima polynomium fitted in a given triangle.
| triid | is the triangle identification number |
| nodesid | is the list of triangle nodes identification |
| p3d | is a pointer to a Point3d object |
| coef | is a pointer to a double vector containing the polynomium coefficients |
Definition at line 3012 of file Tin.cpp.
References b, d, te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), te::gm::Point::getX(), te::gm::Point::getY(), and te::gm::Point::getZ().
|
protectedinherited |
Method that calculates the lines and the columns intercepted by a triangle.
| grid | is a pointer to a grid object that will be created |
| nodesid | is a vector with nodes identification of the current triangle |
| flin | and llin are the first and the last lines (rows) of the grid |
| fcol | and lcol are the first and the last columns of the grid |
Definition at line 3279 of file Tin.cpp.
References te::gm::Coord2D::getX(), te::gm::Point::getX(), te::gm::Coord2D::getY(), te::gm::Point::getY(), te::mnt::Max(), te::mnt::Min(), and te::rst::Round().
Referenced by te::mnt::Slope::run(), and run().
|
protected |
Method that fills the grid locations, inside a triangle, with a zvalue linearly evaluated.
| grid | is a pointer to a grid object |
| triid | is the triangle identification number |
| flin | and llin are the first and the last lines (rows) of the grid |
| fcol | and lcol are the first and the last columns of the grid |
| zvalue | is the z value to be stored in the grid inside the triangle region |
Definition at line 174 of file TINCalculateGrid.cpp.
References te::mnt::Tin::ContainsPoint(), te::rst::Raster::getGrid(), te::gm::Coord2D::getX(), te::gm::Point::getX(), te::gm::Coord2D::getY(), te::gm::Point::getY(), te::gm::Point::getZ(), te::rst::Grid::gridToGeo(), te::mnt::Tin::m_rst, te::gm::PointZType, te::rst::Raster::setValue(), te::gm::Point::setX(), and te::gm::Point::setY().
Referenced by run().
|
protected |
Method that fills the grid locations, inside a triangle, with a zvalue evaluated by a quintic polynomium.
| grid | is a pointer to a grid object |
| triid | is the triangle identification number |
| p3da | is a pointer to a Point3d object, vector with 3D samples (not used in this method) |
| flin | and llin are the first and the last lines (rows) of the grid |
| fcol | and lcol are the first and the last columns of the grid |
| zvalue | is the z value to be stored in the grid inside the triangle region |
Definition at line 222 of file TINCalculateGrid.cpp.
References te::mnt::Tin::ContainsPoint(), te::rst::Raster::getGrid(), te::gm::Coord2D::getX(), te::gm::Point::getX(), te::gm::Coord2D::getY(), te::gm::Point::getY(), te::rst::Grid::gridToGeo(), te::mnt::Tin::m_rst, te::gm::PointZType, te::rst::Raster::setValue(), te::gm::Point::setX(), and te::gm::Point::setY().
Referenced by run().
|
protectedinherited |
Method that fills the grid locations, inside a triangle, with a zvalue.
| triid | is the triangle identification number |
| flin | and llin are the first and the last lines (rows) of the grid |
| fcol | and lcol are the first and the last columns of the grid |
| zvalue | is the z value to be stored in the grid inside the triangle region |
Definition at line 3256 of file Tin.cpp.
References te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::gm::PointZType, te::gm::Point::setX(), and te::gm::Point::setY().
Referenced by te::mnt::Slope::run(), and run().
|
protectedinherited |
Method that find a line containing a specific node.
| nid | is the node identification number |
Definition at line 641 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
Referenced by te::mnt::TINGeneration::OrderLines().
|
protectedinherited |
Method that find a line given two nodes identification.
| fnid | is the first node identification number |
| snid | is the second node identification number |
Definition at line 724 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
|
protectedinherited |
Method that finds a triangle containing a given point.
| ptr1 | is a pointer to a Point object |
Definition at line 190 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), te::gm::Point::getX(), te::gm::Point::getY(), te::mnt::pointToSegmentDistance(), and te::mnt::segIntersect().
Referenced by te::mnt::TINGeneration::FindInterPoints(), and te::mnt::TINGeneration::InsertNode().
|
protectedinherited |
Definition at line 1296 of file Tin.cpp.
References te::da::PrimaryKey::add(), te::da::DataSetType::add(), te::dt::DOUBLE_TYPE, te::dt::INT32_TYPE, te::gm::MultiPolygonZType, te::dt::SimpleProperty::setAutoNumber(), te::da::DataSetType::setPrimaryKey(), and te::gm::GeometryProperty::setSRID().
|
inlineinherited |
Definition at line 307 of file Tin.h.
References CLNODES, te::da::GetDataSetType(), pt1, and pt2.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked().
|
inlineinherited |
Definition at line 306 of file Tin.h.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked().
|
inherited |
Method used to load a triangular network (TIN)
Definition at line 1624 of file Tin.cpp.
References te::dt::GEOMETRY_TYPE, te::da::GetFirstPropertyPos(), te::gm::GeometryCollection::getGeometryN(), te::gm::CurvePolygon::getRingN(), te::common::TaskProgress::isActive(), te::common::TaskProgress::pulse(), and te::common::TaskProgress::UNDEFINED.
Referenced by te::mnt::TINCreateIsolines::run(), te::mnt::Slope::run(), and run().
|
inherited |
Method used to load a triangular network (TIN) generated by QGIS.
Definition at line 1540 of file Tin.cpp.
References te::dt::GEOMETRY_TYPE, te::da::GetFirstGeomProperty(), te::da::GetFirstPropertyPos(), te::gm::GeometryCollection::getGeometryN(), te::gm::GeometryCollection::getNumGeometries(), te::gm::CurvePolygon::getRingN(), te::gm::LineString::getZ(), te::gm::MultiPolygonType, te::mnt::Normalnode, te::gm::PolygonType, TE_TR, and te::common::Exception::what().
|
protectedinherited |
Definition at line 950 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), and te::mnt::TinLine::getRightPolygon().
Referenced by te::mnt::TINGeneration::CreateMinAngleTriangulation(), te::mnt::TINGeneration::FindInterPoints(), te::mnt::TINGeneration::GenerateDelaunay(), te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::ModifyBoundTriangles(), te::mnt::TINGeneration::neigh_union(), te::mnt::TINGeneration::ReGenerateDelaunay(), run(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), and te::mnt::TINGeneration::TestFlatTriangles().
|
protectedinherited |
Method that finds out which is the next node.
| nodeId | is the node identification number |
Definition at line 999 of file Tin.cpp.
References te::mnt::Deletednode, and te::mnt::TinLine::getType().
Referenced by te::mnt::TINGeneration::DeleteNode(), te::mnt::TINGeneration::IsBreaklineSegment(), te::mnt::TINGeneration::IsIsolineSegment(), te::mnt::TINGeneration::OrderLines(), and te::mnt::TINGeneration::TestIsolines().
|
protectedinherited |
Method that searches the closest points of a specific node.
| nid | is the node identification number |
| clstNids | is a pointer to a list of closest node identificators |
| useBrNode | is the break nodeidentification |
Definition at line 2073 of file Tin.cpp.
References CLNODES, te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
|
protectedinherited |
Method that calculates the first and second derivatives in the nodes of a given triangle.
Definition at line 1743 of file Tin.cpp.
Referenced by te::mnt::TINGeneration::InsertBreakNodes(), te::mnt::Slope::run(), run(), and te::mnt::TINGeneration::TestFlatTriangles().
|
protectedinherited |
Method that calculates the first derivatives in the nodes of a given triangle.
Definition at line 1983 of file Tin.cpp.
References CLNODES, te::mnt::Deletednode, te::mnt::TinLine::getType(), te::common::TaskProgress::isActive(), te::gm::PointZType, te::common::TaskProgress::pulse(), te::gm::Point::setX(), te::gm::Point::setY(), te::gm::Point::setZ(), and te::common::TaskProgress::UNDEFINED.
|
protectedinherited |
Method that reads the identification number of the nodes of a given triangle.
| triangId | is the triangle identification number |
| vertex | is the number of the vertex to be considered |
Definition at line 903 of file Tin.cpp.
Referenced by te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::TestIsolines(), and te::mnt::TINGeneration::TwoNewTriangles().
|
protectedinherited |
Method that includes a node in the tin line list.
| v | is the node identificator number |
| linids | is a pointer to a list of line identificators |
Definition at line 810 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), and td.
Referenced by te::mnt::TINGeneration::borderUp(), te::mnt::TINGeneration::ModifyBoundTriangles(), and te::mnt::TINGeneration::NodeExchange().
|
protectedinherited |
Method that includes a node in the tin node list.
| v | is the node identification number |
| nodids | is a pointer to a list of node identificators |
Definition at line 1038 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), and td.
|
protectedinherited |
Method that find the oposite lines of a specific node.
| v | is the node identification number |
| linids | is pointer to a list of line identificators |
Definition at line 492 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), and td.
Referenced by te::mnt::TINGeneration::TestIsolines().
|
protectedinherited |
Method that calculates the second derivative at all triangulation nodes.
Definition at line 2027 of file Tin.cpp.
References CLNODES, te::mnt::Deletednode, te::mnt::TinLine::getType(), te::mnt::TinNode::getX(), te::mnt::TinNode::getY(), te::mnt::TinNode::getZ(), te::mnt::TinNode::Init(), te::common::TaskProgress::isActive(), te::common::TaskProgress::pulse(), and te::common::TaskProgress::UNDEFINED.
|
protectedinherited |
Method that reads the identification number of the nodes of a given triangle.
| triangId | is the triangle identification number |
| nodesIds | is a pointer to a list of node identification numbers |
Definition at line 913 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
Referenced by te::mnt::TINGeneration::InsertNode(), te::mnt::TINCreateIsolines::run(), te::mnt::Slope::run(), run(), and te::mnt::TINGeneration::UpdateTriangles().
|
protectedinherited |
Method that search a node in a triangulation.
| v | is the node identification number |
Definition at line 1140 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getRightPolygon(), and td.
|
protectedinherited |
Method that includes a node in a triangle list.
| v | is the node identification number |
| triangles | is pointer to a vetor of triangles |
Definition at line 1159 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::mnt::TinLine::getRightPolygon(), and td.
|
protectedinherited |
Method that find the triangle list sharing a given node.
| nodeid | is the node identification number |
| rightri | is a pointer to the triangles at right side |
| lefttri | is a pointer to the triangles at left side |
Definition at line 2460 of file Tin.cpp.
References te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), and te::mnt::TinLine::getRightPolygon().
|
protectedinherited |
Method that reads the identification number of the opposite edge of a given node.
| triangId | is the triangle identification number |
| nodeId | is the node identification number |
Definition at line 619 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
|
protectedinherited |
Method that reads the identification number of the opposite node of a given edge.
| triangId | is the triangle identification number |
| linId | is the line identification number |
Definition at line 975 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), and te::mnt::TinLine::getNodeTo().
Referenced by te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), te::mnt::TINGeneration::TestIsolines(), and te::mnt::TINGeneration::UpdateTriangles().
|
protectedinherited |
Method that finds out which is the previous node.
| nodeId | is the node identification number |
Definition at line 1018 of file Tin.cpp.
References te::mnt::Deletednode, and te::mnt::TinLine::getType().
Referenced by te::mnt::TINGeneration::DeleteNode(), and te::mnt::TINGeneration::RegeneratewithNewPoints().
|
protectedinherited |
Method that reallocates Vectors.
| nSize | is the vector size |
Definition at line 1267 of file Tin.cpp.
References te::mnt::TinLine::TinLine().
Referenced by te::mnt::TINGeneration::RegeneratewithNewPoints(), and te::mnt::TINGeneration::TestIsolines().
| bool te::mnt::TINCalculateGrid::run | ( | ) |
Method that generates a regular Grid from a given TIN.
| grid | is a pointer to the grid that will be created |
| gridtype | is the type of interpolator fitted to each triangle |
Definition at line 32 of file TINCalculateGrid.cpp.
References compose::bands, te::mnt::Tin::DefineAkimaCoeficients(), te::mnt::Tin::DefineInterLinesColumns(), te::dt::DOUBLE_TYPE, FillGridLinear(), FillGridQuintic(), te::mnt::Tin::FillGridValue(), te::rst::Raster::getBand(), te::gm::Envelope::getHeight(), te::gm::Envelope::getLowerLeftX(), te::rst::Band::getProperty(), te::gm::Envelope::getUpperRightY(), te::gm::Envelope::getWidth(), te::rst::GrayIdxCInt, te::sa::Grid, te::mnt::Linear, te::mnt::Tin::LoadTin(), m_dsinfo, te::mnt::Tin::m_env, te::mnt::Tin::m_fbnode, m_gridtype, m_inDsetName, m_inDsrc, te::rst::BandProperty::m_noDataValue, te::mnt::Tin::m_nodatavalue, te::mnt::Tin::m_node, te::mnt::Tin::m_nsderiv, te::mnt::Tin::m_resx, te::mnt::Tin::m_resy, te::mnt::Tin::m_rst, te::mnt::Tin::m_srid, te::mnt::Tin::m_triang, te::rst::RasterFactory::make(), te::mnt::Tin::NeighborsId(), te::mnt::Tin::NodeDerivatives(), te::mnt::Tin::NodesId(), te::gm::PointZType, te::common::TaskProgress::pulse(), te::mnt::Quintico, te::mnt::QuinticoBrkLine, mixture::rst, te::gm::Point::setX(), te::gm::Point::setY(), te::gm::Point::setZ(), and te::common::TaskProgress::UNDEFINED.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked(), and TINCalculateGrid().
|
inherited |
Definition at line 1344 of file Tin.cpp.
References te::da::GetDataSetType(), te::mnt::TinLine::getLeftPolygon(), te::mnt::TinLine::getRightPolygon(), te::mnt::TinLine::getType(), te::gm::Point::getZ(), te::common::TaskProgress::isActive(), te::gm::LineStringZType, p, te::gm::PointZType, te::gm::PolygonZType, te::common::TaskProgress::pulse(), te::vp::Save(), te::mem::DataSetItem::setDouble(), te::mem::DataSetItem::setGeometry(), te::mem::DataSetItem::setInt32(), and te::common::TaskProgress::UNDEFINED.
Referenced by te::mnt::TINGeneration::SaveTin().
|
inherited |
Function used to set the envelope parameter
Definition at line 182 of file Tin.cpp.
Referenced by te::mnt::TINGeneration::ReadBreakLines(), and te::mnt::TINGeneration::run().
| void te::mnt::TINCalculateGrid::setInput | ( | te::da::DataSourcePtr | inDsrc, |
| std::string | inDsetName, | ||
| std::unique_ptr< te::da::DataSetType > | inDsetType | ||
| ) |
It sets the Datasource that is being used to generate TIN.
| inDsrc | The datasource being used. |
| inDsetName | datasource name |
| inDsetType | input DataSetType |
Definition at line 141 of file TINCalculateGrid.cpp.
References m_inDsetName, m_inDsetType, and m_inDsrc.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked(), and TINCalculateGrid().
| void te::mnt::TINCalculateGrid::setOutput | ( | std::map< std::string, std::string > & | dsinfo | ) |
It sets the Datasource that is being used to save TIN.
Definition at line 150 of file TINCalculateGrid.cpp.
References m_dsinfo.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked(), and TINCalculateGrid().
| void te::mnt::TINCalculateGrid::setParams | ( | double | resx, |
| double | resy, | ||
| Interpolator | gt | ||
| ) |
It sets the parameters that is being used to save TIN.
| resx,resy | resolution X and Y. |
| gt | interpolator |
Definition at line 155 of file TINCalculateGrid.cpp.
References m_gridtype, te::mnt::Tin::m_resx, and te::mnt::Tin::m_resy.
Referenced by te::mnt::MNTGenerationDialog::onOkPushButtonClicked(), and TINCalculateGrid().
|
inherited |
Function used to set the Spatial Reference System ID
Definition at line 177 of file Tin.cpp.
Referenced by GenerateIso(), GenerateTIN(), te::mnt::CreateIsolinesDialog::onOkPushButtonClicked(), te::mnt::TINGenerationDialog::onOkPushButtonClicked(), te::mnt::MNTGenerationDialog::onOkPushButtonClicked(), and TINCalculateGrid().
|
protectedinherited |
Method that calculates the first derivatives in the nodes of a given triangle.
Definition at line 1780 of file Tin.cpp.
References te::gm::Point::getX(), te::gm::Point::getY(), te::common::TaskProgress::isActive(), te::gm::PointZType, te::common::TaskProgress::pulse(), te::gm::Point::setX(), te::gm::Point::setY(), te::gm::Point::setZ(), te::mnt::triangleNormalVector(), and te::common::TaskProgress::UNDEFINED.
|
protectedinherited |
Method that reads the vertex (points) of a given triangle.
| triangId | is the triangle identification number |
| vertex | is a pointer to a list of Point object, the triangle vertices |
Definition at line 400 of file Tin.cpp.
References te::mnt::TinLine::getNodeFrom(), te::mnt::TinLine::getNodeTo(), te::gm::Point::setX(), te::gm::Point::setY(), and te::gm::Point::setZ().
Referenced by te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::neigh_union(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), and te::mnt::TINGeneration::TestFlatTriangles().
|
protectedinherited |
Method that calculates the second derivatives in the nodes of a given triangle.
Definition at line 1867 of file Tin.cpp.
References te::gm::Point::getZ(), te::common::TaskProgress::isActive(), te::gm::PointZType, te::common::TaskProgress::pulse(), te::gm::Point::setX(), te::gm::Point::setY(), te::gm::Point::setZ(), te::mnt::triangleNormalVector(), and te::common::TaskProgress::UNDEFINED.
|
protected |
Definition at line 85 of file TINCalculateGrid.h.
Referenced by run(), and setOutput().
|
protectedinherited |
Attribute used to restrict the area to generate the samples.
Definition at line 598 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::InsertNode(), te::mnt::Slope::run(), and run().
|
protectedinherited |
First break node number.
Definition at line 617 of file Tin.h.
Referenced by te::mnt::TINGeneration::InsertNodes(), te::mnt::TINGeneration::OrderLines(), te::mnt::TINGeneration::RegeneratewithNewPoints(), and run().
|
protected |
Definition at line 87 of file TINCalculateGrid.h.
Referenced by run(), and setParams().
|
protected |
Definition at line 82 of file TINCalculateGrid.h.
Referenced by run(), and setInput().
|
protected |
Definition at line 83 of file TINCalculateGrid.h.
Referenced by setInput().
|
protected |
Definition at line 81 of file TINCalculateGrid.h.
Referenced by run(), and setInput().
|
protectedinherited |
Triangulation lines vector.
Definition at line 604 of file Tin.h.
Referenced by te::mnt::TINGeneration::borderUp(), te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), te::mnt::TINGeneration::ExchangePolygon(), te::mnt::TINGeneration::FindInterPoints(), te::mnt::TINGeneration::IsBreaklineSegment(), te::mnt::TINGeneration::IsIsolineSegment(), te::mnt::TINGeneration::ModifyBoundTriangles(), te::mnt::TINGeneration::NodeExchange(), te::mnt::TINGeneration::OnIsolineSegment(), te::mnt::TINGeneration::OrderLines(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), te::mnt::TINGeneration::TestIsolines(), te::mnt::TINGeneration::TwoNewTriangles(), and te::mnt::TINGeneration::UpdateTriangles().
|
protectedinherited |
Triangulation lines vector size.
Definition at line 600 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), te::mnt::TINGeneration::ExchangePolygon(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), and te::mnt::TINGeneration::TestIsolines().
|
protectedinherited |
Triangulation last line number.
Definition at line 620 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), and te::mnt::TINGeneration::TwoNewTriangles().
|
protectedinherited |
Triangulation last node number.
Definition at line 618 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DeleteNode(), te::mnt::TINGeneration::InsertNodes(), te::mnt::TINGeneration::RegeneratewithNewPoints(), and te::mnt::TINGeneration::TestIsolines().
|
protectedinherited |
Triangulation last triangle number.
Definition at line 619 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateDelaunay(), te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::CreateMinAngleTriangulation(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), te::mnt::TINGeneration::GenerateDelaunay(), te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::ReCreateDelaunay(), te::mnt::TINGeneration::ReGenerateDelaunay(), te::mnt::Slope::run(), and te::mnt::TINGeneration::TwoNewTriangles().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Definition at line 622 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::FindInterPoints(), te::mnt::TINGeneration::ModifyBoundTriangles(), te::mnt::TINGeneration::RegeneratewithNewPoints(), te::mnt::Slope::run(), run(), te::mnt::TINGeneration::TestAngleBetweenNormals(), and te::mnt::Slope::TriangleGradient().
|
protectedinherited |
Triangulation nodes vector.
Definition at line 606 of file Tin.h.
Referenced by te::mnt::TINGeneration::borderUp(), te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DeleteNode(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::FindInterPoints(), te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::InsertNodes(), te::mnt::TINGeneration::IsBreaklineSegment(), te::mnt::TINGeneration::IsIsolineSegment(), te::mnt::TINGeneration::ModifyBoundTriangles(), te::mnt::TINGeneration::NodeExchange(), te::mnt::TINGeneration::OnIsolineSegment(), te::mnt::TINGeneration::OrderLines(), te::mnt::TINGeneration::RegeneratewithNewPoints(), te::mnt::TINCreateIsolines::run(), te::mnt::Slope::run(), run(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), te::mnt::TINGeneration::TestIsolines(), te::mnt::Slope::TriangleGradient(), te::mnt::TINGeneration::TwoNewTriangles(), and te::mnt::TINGeneration::UpdateTriangles().
|
protectedinherited |
Triangulation nodes vector size.
Definition at line 602 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::InsertNodes(), te::mnt::TINGeneration::RegeneratewithNewPoints(), te::mnt::TINGeneration::TestDelaunay(), and te::mnt::TINGeneration::TestIsolines().
|
protectedinherited |
Definition at line 613 of file Tin.h.
Referenced by te::mnt::TINGeneration::InsertBreakNodes(), te::mnt::TINGeneration::RegeneratewithNewPoints(), run(), and te::mnt::TINGeneration::TestFlatTriangles().
|
protectedinherited |
Definition at line 627 of file Tin.h.
Referenced by te::mnt::Slope::run(), run(), te::mnt::Slope::setParams(), and setParams().
|
protectedinherited |
Definition at line 627 of file Tin.h.
Referenced by te::mnt::Slope::run(), run(), te::mnt::Slope::setParams(), and setParams().
|
protectedinherited |
Definition at line 626 of file Tin.h.
Referenced by FillGridLinear(), FillGridQuintic(), te::mnt::Slope::run(), run(), and ~TINCalculateGrid().
|
protectedinherited |
Attribute with spatial reference information.
Definition at line 596 of file Tin.h.
Referenced by te::mnt::TINGeneration::InsertBreakLines(), te::mnt::TINGeneration::neigh_union(), te::mnt::TINCreateIsolines::run(), te::mnt::Slope::run(), run(), te::mnt::TINGeneration::run(), te::mnt::Slope::setParams(), and te::mnt::TINGeneration::TINGeneration().
|
protectedinherited |
|
protectedinherited |
Triangulation triangles vector.
Definition at line 605 of file Tin.h.
Referenced by te::mnt::TINGeneration::borderUp(), te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), te::mnt::TINGeneration::ExchangePolygon(), te::mnt::TINGeneration::FindInterPoints(), te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::IsNeighborOnIsoOrBreakline(), te::mnt::TINGeneration::ModifyBoundTriangles(), te::mnt::TINGeneration::OrderLines(), te::mnt::TINCreateIsolines::run(), run(), te::mnt::TINGeneration::TestAngleBetweenNormals(), te::mnt::TINGeneration::TestDelaunay(), te::mnt::TINGeneration::TestIsolines(), te::mnt::TINGeneration::TwoNewTriangles(), and te::mnt::TINGeneration::UpdateTriangles().
|
protectedinherited |
Triangulation triangles vector size.
Definition at line 601 of file Tin.h.
Referenced by te::mnt::TINGeneration::CreateInitialTriangles(), te::mnt::TINGeneration::DuplicateTriangle(), te::mnt::TINGeneration::DupNeighTriangle(), te::mnt::TINGeneration::InsertNode(), te::mnt::TINGeneration::TestFlatTriangles(), and te::mnt::TINGeneration::TwoNewTriangles().
|
protectedinherited |