26#ifndef __TERRALIB_GEOMETRY_INTERNAL_LINESTRING_H 
   27#define __TERRALIB_GEOMETRY_INTERNAL_LINESTRING_H 
  160        void setSRID(
int srid) throw();
 
  175        void convert(
te::srs::Converter* converter) override;
 
  186        void computeMBR(
bool cascade) const throw();
 
  195        std::
size_t getNPoints() const throw() { 
return m_nPts; }
 
  264        std::size_t 
size()
 const { 
return m_nPts; }
 
  318        void setPoint(std::size_t i, 
const double& x, 
const double& y);
 
  330        void setPointZ(std::size_t i, 
const double& x, 
const double& y, 
const double& z);
 
  342        void setPointM(std::size_t i, 
const double& x, 
const double& y, 
const double& m);
 
  355        void setPointZM(std::size_t i, 
const double& x, 
const double& y, 
const double& z, 
const double& m);
 
  366        const double& 
getX(std::size_t i) 
const;
 
  377        const double& 
getY(std::size_t i) 
const;
 
  390        const double& 
getZ(std::size_t i) 
const;
 
  403        const double& 
getM(std::size_t i) 
const;
 
  413        void setX(std::size_t i, 
const double& x);
 
  423        void setY(std::size_t i, 
const double& y);
 
  435        void setZ(std::size_t i, 
const double& z);
 
  447        void setM(std::size_t i, 
const double& m);
 
#define TE_DEFINE_VISITABLE
 
An utility struct for representing 2D coordinates.
 
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
 
A base class for values that can be retrieved from the data access module.
 
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
 
An Envelope defines a 2D rectangular region.
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
 
LineString is a curve with linear interpolation between points.
 
void setX(std::size_t i, const double &x)
It sets the n-th x coordinate value.
 
void setPointZM(std::size_t i, const double &x, const double &y, const double &z, const double &m)
It sets the value of the specified point.
 
const double & getX(std::size_t i) const
It returns the n-th x coordinate value.
 
void setPointN(std::size_t i, const Point &p)
It sets the value of the specified point to this new one.
 
void setPointZ(std::size_t i, const double &x, const double &y, const double &z)
It sets the value of the specified point.
 
static const std::string sm_typeName
 
const std::string & getGeometryType() const
The name of instantiable subtype is: LineString.
 
LineString(const LineString &rhs)
Copy constructor.
 
Coord2D * getCoordinates() const
It returns a pointer to the internal array of coordinates.
 
LineString(std::size_t size, GeomType t, int srid=0, Envelope *mbr=0)
It initializes the linestring with the specified spatial reference system id and envelope.
 
virtual te::dt::AbstractData * clone() const
It clones the linestring.
 
LineString(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the linestring with the specified spatial reference system id and envelope.
 
void setPointM(std::size_t i, const double &x, const double &y, const double &m)
It sets the value of the specified point.
 
Coord2D * m_coords
A pointer to x, y values.
 
virtual LineString & operator=(const LineString &rhs)
Assignment operator.
 
const double & getZ(std::size_t i) const
It returns the n-th z coordinate value.
 
void setM(std::size_t i, const double &m)
It sets the n-th m measure value.
 
std::unique_ptr< Point > getEndPoint() const
It returns the curve end point.
 
double * getZ() const
It returns a pointer to the internal array of z-values.
 
std::unique_ptr< Point > getPointN(std::size_t i) const
It returns the specified point in this LineString.
 
void setNumCoordinates(std::size_t size)
It reserves room for the number of coordinates in this LineString.
 
bool isClosed() const
It returns true if the curve is closed (startPoint = endPoint).
 
double * getM() const
It returns a pointer to the internal array of m-values.
 
void makeEmpty()
It clears all the coordinates.
 
std::size_t size() const
It returns the number of points (vertexes) in the geometry.
 
const double & getY(std::size_t i) const
It returns the n-th y coordinate value.
 
double * m_zA
A pointer to z values.
 
std::unique_ptr< Point > getStartPoint() const
The length of this Curve in its associated spatial reference.
 
void setPoint(std::size_t i, const double &x, const double &y)
It sets the value of the specified point.
 
std::size_t m_nPts
The number of coordinates of the LineString.
 
void setZ(std::size_t i, const double &z)
It sets the n-th z coordinate value.
 
Geometry * locateBetween(const double &mStart, const double &mEnd) const
It returns a derived geometry collection value according to the range of coordinate values inclusivel...
 
double * m_mA
A pointer to m values.
 
const double & getM(std::size_t i) const
It returns the n-th m measure value.
 
void setY(std::size_t i, const double &y)
It sets the n-th y coordinate value.
 
virtual ~LineString()
Virtual destructor.
 
A point with x and y coordinate values.
 
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
 
An utility struct for representing 2D coordinates.
 
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
An exception class for the XML module.