26#ifndef __TERRALIB_GEOMETRY_INTERNAL_COMPOUNDCURVE_H
27#define __TERRALIB_GEOMETRY_INTERNAL_COMPOUNDCURVE_H
#define TE_DEFINE_VISITABLE
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.
void setSRID(int srid)
It sets the Spatial Reference System ID of the compound curve.
void convert(te::srs::Converter *converter) override
It converts the coordinate values of the compound curve to the new spatial reference system.
void makeEmpty()
It clears all the segments.
std::unique_ptr< Point > getStartPoint() const
It returns the curve start point.
void add(Curve *c)
It adds the curve to the compound.
void computeMBR(bool cascade) const
It computes the minimum bounding rectangle for the compound curve.
std::size_t size() const
It returns the number of elements in the compound geometry.
std::size_t getNPoints() const
It returns the number of points (vertexes) in the compound curve.
static const std::string sm_typeName
double getLength() const
The length of this Curve in its associated spatial reference.
CompoundCurve(const CompoundCurve &rhs)
Copy constructor.
std::vector< Curve * > m_curves
The list of segments of the compund curve.
Curve * getCurve(std::size_t i) const
It returns the i-th curve.
CompoundCurve(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the compound curve with the specified spatial reference system id and envelope.
te::dt::AbstractData * clone() const
It clones the compound curve.
bool isClosed() const
It returns true if the curve is closed (startPoint = endPoint).
CompoundCurve & operator=(const CompoundCurve &rhs)
Assignment operator.
~CompoundCurve()
Virtual destructor.
std::unique_ptr< Point > getEndPoint() const
It returns the curve end point.
CompoundCurve(std::size_t size, GeomType t, int srid=0, Envelope *mbr=0)
It initializes the compound curve with the specified spatial reference system id and envelope.
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 std::string & getGeometryType() const
The name of instantiable subtype is: CompoundCurve.
std::vector< Curve * > & getCurves()
It returns a pointer to the internal array of segments.
const std::vector< Curve * > & getCurves() const
It returns a pointer to the internal array of segments.
Curve(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the curve with the specified spatial reference system id and envelope.
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.
Namespace for the Vector Geometry module of TerraLib.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
Namespace for the Spatial Reference System module of TerraLib.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.