11 #include "../../common/progress/TaskProgress.h" 23 std::vector<te::gm::Point> ptline;
25 std::vector<te::gm::Point> pts;
40 for (
size_t v = 0; v <
m_values.size(); v++)
44 for (
size_t i = 0; i < ntri; i++)
49 if (!
NodesId((int32_t)i, nodesid))
51 for (
size_t j = 0; j < 3; j++)
53 p3da[j].
setX(
m_node[(
unsigned int)nodesid[j]].getNPoint().getX());
54 p3da[j].
setY(
m_node[(
unsigned int)nodesid[j]].getNPoint().getY());
55 p3da[j].
setZ(
m_node[(
unsigned int)nodesid[j]].getZ());
81 std::string inDsetName,
82 std::unique_ptr<te::da::DataSetType> inDsetType)
void setInput(te::da::DataSourcePtr inDsrc, std::string inDsetName, std::unique_ptr< te::da::DataSetType > inDsetType)
int m_srid
Attribute with spatial reference information.
void setParams(std::vector< double > &val, std::vector< double > &gval, double tol)
This file contains a class to generate isolines from a TIN. Adapted from SPRING.
te::da::DataSourcePtr m_outDsrc
std::string m_outDsetName
bool NodesId(int32_t triangId, int32_t *nodeIds)
Method that reads the identification number of the nodes of a given triangle.
boost::shared_ptr< DataSource > DataSourcePtr
This class can be used to inform the progress of a task.
bool isActive() const
Verify if the task is active.
std::vector< TinTriang > m_triang
Triangulation triangles vector.
Utility functions for MNT support.
void setTotalSteps(int value)
Set the task total stepes.
te::da::DataSourcePtr m_inDsrc
std::vector< double > m_values
std::vector< double > m_guidevalues
LineString is a curve with linear interpolation between points.
A point with x and y coordinate values.
std::unique_ptr< te::da::DataSetType > m_inDsetType
TEMNTEXPORT bool testVertexValues(double, te::gm::Point *)
Function that test the vertex values.
void pulse()
Calls setCurrentStep() function using getCurrentStep() + 1.
TEMNTEXPORT bool extractLines(std::vector< te::gm::Point > &pline, std::vector< std::unique_ptr< te::gm::LineString > > &clinlist, double scale)
void setX(const double &x)
It sets the Point x-coordinate value.
std::vector< TinNode > m_node
Triangulation nodes vector.
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)
std::vector< std::unique_ptr< te::gm::LineString > > m_isolist
TEMNTEXPORT bool defineInterTriangle(std::vector< te::gm::Point > &, te::gm::Point *, double)
Function that defines the intersections between an isoline and a triangle.
void setY(const double &y)
It sets the Point y-coordinate value.
void setOutput(te::da::DataSourcePtr outDsrc, std::string dsname)
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)
void setZ(const double &z)
It sets the Point z-coordinate value.