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);
219 double getLength()
const;
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
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::size_t m_nPts
The number of coordinates of the LineString.
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
std::size_t getNPoints() const
It returns the number of points (vertexes) in the linestring.
double * m_zA
A pointer to z values.
#define TE_DEFINE_VISITABLE
std::size_t size() const
It returns the number of points (vertexes) in the geometry.
An utility struct for representing 2D coordinates.
An utility struct for representing 2D coordinates.
static const std::string sm_typeName
LineString is a curve with linear interpolation between points.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
Coord2D * m_coords
A pointer to x, y values.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Coord2D * getCoordinates() const
It returns a pointer to the internal array of coordinates.
A point with x and y coordinate values.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
A base class for values that can be retrieved from the data access module.
double * getZ() const
It returns a pointer to the internal array of z-values.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
double * getM() const
It returns a pointer to the internal array of m-values.
An Envelope defines a 2D rectangular region.
double * m_mA
A pointer to m values.