26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_CIRCULARSTRING_H
27 #define __TERRALIB_GEOMETRY_INTERNAL_CIRCULARSTRING_H
90 CircularString(std::size_t size,
GeomType t,
int srid = 0,
Envelope* mbr = 0);
97 CircularString(
const CircularString& rhs);
109 CircularString& operator=(
const CircularString& rhs);
145 const std::string& getGeometryType()
const throw();
154 void setSRID(
int srid)
throw();
180 void computeMBR(
bool cascade)
const throw();
189 std::size_t
getNPoints()
const throw() {
return m_coords.size(); }
201 Geometry* locateBetween(
const double& mStart,
const double& mEnd)
const throw(
Exception);
215 double getLength()
const;
224 Point* getStartPoint()
const;
233 Point* getEndPoint()
const;
242 bool isClosed()
const;
258 std::size_t
size()
const {
return m_coords.size(); }
267 void setNumCoordinates(std::size_t size);
291 Point* getPointN(std::size_t i)
const;
301 void setPointN(std::size_t i,
const Point& p);
312 void setPoint(std::size_t i,
const double& x,
const double& y);
324 void setPointZ(std::size_t i,
const double& x,
const double& y,
const double& z);
336 void setPointM(std::size_t i,
const double& x,
const double& y,
const double& m);
349 void setPointZM(std::size_t i,
const double& x,
const double& y,
const double& z,
const double& m);
360 const double& getX(std::size_t i)
const;
371 const double& getY(std::size_t i)
const;
384 const double& getZ(std::size_t i)
const;
397 const double& getM(std::size_t i)
const;
407 void setX(std::size_t i,
const double& x);
417 void setY(std::size_t i,
const double& y);
429 void setZ(std::size_t i,
const double& z);
441 void setM(std::size_t i,
const double& m);
480 const std::vector<double>&
getZ()
const
508 const std::vector<double>&
getM()
const
543 #endif // __TERRALIB_GEOMETRY_INTERNAL_CIRCULARSTRING_H
std::size_t size() const
It returns the number of points (vertexes) in the geometry.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
std::vector< double > & getZ()
It returns a pointer to the internal array of z-values.
Base exception class for plugin module.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
std::vector< double > & getM()
It returns a pointer to the internal array of m-values.
const std::vector< double > & getM() const
It returns a pointer to the internal array of m-values.
std::vector< double > m_zA
A pointer to z values.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
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 circularstring.
A base class for values that can be retrieved from the data access module.
std::vector< double > m_mA
A pointer to m values.
const std::vector< Coord2D > & getCoordinates() const
It returns a pointer to the internal array of coordinates.
#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.
std::vector< Coord2D > m_coords
A pointer to x, y values.
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
const std::vector< double > & getZ() const
It returns a pointer to the internal array of z-values.
std::vector< Coord2D > & getCoordinates()
It returns a pointer to the internal array of coordinates.
static const std::string sm_typeName
An utility struct for representing 2D coordinates.
CircularString is a curve with circular interpolation between points.