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.
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
LineString(const LineString &rhs)
Copy constructor.
const double & getX(std::size_t i) const
It returns the n-th x coordinate value.
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.
const double & getY(std::size_t i) const
It returns the n-th y coordinate value.
std::unique_ptr< Point > getEndPoint() const
It returns the curve end point.
LineString(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the linestring with the specified spatial reference system id and envelope.
Coord2D * getCoordinates() const
It returns a pointer to the internal array of coordinates.
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.
double * getM() const
It returns a pointer to the internal array of m-values.
virtual LineString & operator=(const LineString &rhs)
Assignment operator.
virtual te::dt::AbstractData * clone() const
It clones the linestring.
void setM(std::size_t i, const double &m)
It sets the n-th m measure 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...
void setNumCoordinates(std::size_t size)
It reserves room for the number of coordinates in this LineString.
std::unique_ptr< Point > getStartPoint() const
The length of this Curve in its associated spatial reference.
bool isClosed() const
It returns true if the curve is closed (startPoint = endPoint).
void makeEmpty()
It clears all the coordinates.
std::size_t size() const
It returns the number of points (vertexes) in the geometry.
double * m_zA
A pointer to z values.
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.
const std::string & getGeometryType() const
The name of instantiable subtype is: LineString.
void setZ(std::size_t i, const double &z)
It sets the n-th z coordinate value.
double * getZ() const
It returns a pointer to the internal array of z-values.
const double & getM(std::size_t i) const
It returns the n-th m measure value.
double * m_mA
A pointer to m values.
void setY(std::size_t i, const double &y)
It sets the n-th y coordinate value.
const double & getZ(std::size_t i) const
It returns the n-th z coordinate value.
virtual ~LineString()
Virtual destructor.
std::unique_ptr< Point > getPointN(std::size_t i) const
It returns the specified point in this LineString.
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.