26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_LINESTRING_H
27 #define __TERRALIB_GEOMETRY_INTERNAL_LINESTRING_H
101 LineString(
const LineString& rhs);
104 virtual ~LineString();
113 virtual LineString& operator=(
const LineString& rhs);
149 const std::string& getGeometryType()
const throw();
158 void setSRID(
int srid)
throw();
184 void computeMBR(
bool cascade)
const throw();
205 Geometry* locateBetween(
const double& mStart,
const double& mEnd)
const throw(
Exception);
228 Point* getStartPoint()
const;
237 Point* getEndPoint()
const;
246 bool isClosed()
const;
262 std::size_t
size()
const {
return m_nPts; }
271 void setNumCoordinates(std::size_t size);
295 Point* getPointN(std::size_t i)
const;
305 void setPointN(std::size_t i,
const Point& p);
316 void setPoint(std::size_t i,
const double& x,
const double& y);
328 void setPointZ(std::size_t i,
const double& x,
const double& y,
const double& z);
340 void setPointM(std::size_t i,
const double& x,
const double& y,
const double& m);
353 void setPointZM(std::size_t i,
const double& x,
const double& y,
const double& z,
const double& m);
364 const double& getX(std::size_t i)
const;
375 const double& getY(std::size_t i)
const;
388 const double& getZ(std::size_t i)
const;
401 const double& getM(std::size_t i)
const;
411 void setX(std::size_t i,
const double& x);
421 void setY(std::size_t i,
const double& y);
433 void setZ(std::size_t i,
const double& z);
445 void setM(std::size_t i,
const double& m);
506 #endif // __TERRALIB_GEOMETRY_INTERNAL_LINESTRING_H
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
static const std::string sm_typeName
Coord2D * getCoordinates() const
It returns a pointer to the internal array of coordinates.
Base exception class for plugin module.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
An utility struct for representing 2D coordinates.
double * m_zA
A pointer to z values.
std::size_t m_nPts
The number of coordinates of the LineString.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
LineString is a curve with linear interpolation between points.
double * getM() const
It returns a pointer to the internal array of m-values.
A point with x and y coordinate values.
An Envelope defines a 2D rectangular region.
std::size_t getNPoints() const
It returns the number of points (vertexes) in the linestring.
A base class for values that can be retrieved from the data access module.
Coord2D * m_coords
A pointer to x, y values.
#define TE_DEFINE_VISITABLE
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
An utility struct for representing 2D coordinates.
double * getZ() const
It returns a pointer to the internal array of z-values.
double * m_mA
A pointer to m values.
std::size_t size() const
It returns the number of points (vertexes) in the geometry.