26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_CIRCULARSTRING_H
27 #define __TERRALIB_GEOMETRY_INTERNAL_CIRCULARSTRING_H
154 void setSRID(
int srid) throw();
169 void convert(
te::srs::Converter* converter) override;
180 void computeMBR(
bool cascade) const throw();
189 std::
size_t getNPoints() const throw() {
return m_coords.size(); }
258 std::size_t
size()
const {
return m_coords.size(); }
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
#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.
CircularString is a curve with circular interpolation between points.
std::size_t size() const
It returns the number of points (vertexes) in the geometry.
const std::vector< double > & getM() const
It returns a pointer to the internal array of m-values.
CircularString(const CircularString &rhs)
Copy constructor.
void setPointM(std::size_t i, const double &x, const double &y, const double &m)
It sets the value of the specified point.
Geometry * locateBetween(const double &mStart, const double &mEnd) const
It returns a derived geometry collection value according to the range of coordinate values inclusivel...
const double & getZ(std::size_t i) const
It returns the n-th z coordinate value.
std::vector< double > & getM()
It returns a pointer to the internal array of m-values.
bool isClosed() const
It returns true if the curve is closed (startPoint = endPoint).
void setY(std::size_t i, const double &y)
It sets the n-th y coordinate value.
std::unique_ptr< Point > getPointN(std::size_t i) const
It returns the specified point in this CircularString.
void setZ(std::size_t i, const double &z)
It sets the n-th z coordinate value.
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 & getM(std::size_t i) const
It returns the n-th m measure value.
const std::vector< Coord2D > & getCoordinates() const
It returns a pointer to the internal array of coordinates.
void setPointN(std::size_t i, const Point &p)
It sets the value of the specified point to this new one.
std::vector< double > m_zA
A pointer to z values.
std::vector< double > & getZ()
It returns a pointer to the internal array of z-values.
std::vector< double > m_mA
A pointer to m values.
std::unique_ptr< Point > getStartPoint() const
It returns the curve start point.
void setPoint(std::size_t i, const double &x, const double &y)
It sets the value of the specified point.
const std::vector< double > & getZ() const
It returns a pointer to the internal array of z-values.
const double & getX(std::size_t i) const
It returns the n-th x coordinate value.
std::vector< Coord2D > & getCoordinates()
It returns a pointer to the internal array of coordinates.
void setM(std::size_t i, const double &m)
It sets the n-th m measure value.
void makeEmpty()
It clears all the coordinates.
CircularString & operator=(const CircularString &rhs)
Assignment operator.
std::unique_ptr< Point > getEndPoint() const
It returns the curve end point.
CircularString(std::size_t size, GeomType t, int srid=0, Envelope *mbr=0)
It initializes the circularstring with the specified spatial reference system id and envelope.
void setNumCoordinates(std::size_t size)
It reserves room for the number of coordinates in this CircularString.
te::dt::AbstractData * clone() const
It clones the circularstring.
const std::string & getGeometryType() const
The name of instantiable subtype is: CircularString.
~CircularString()
Virtual destructor.
CircularString(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the circularstring with the specified spatial reference system id and envelope.
std::vector< Coord2D > m_coords
A pointer to x, y values.
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 double & getY(std::size_t i) const
It returns the n-th y coordinate value.
double getLength() const
The length of this Curve in its associated spatial reference.
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.
A point with x and y coordinate values.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.