26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_COMPOUNDCURVE_H
27 #define __TERRALIB_GEOMETRY_INTERNAL_COMPOUNDCURVE_H
149 void setSRID(
int srid) throw();
164 void convert(
te::srs::Converter* converter) override;
175 void computeMBR(
bool cascade) const throw();
184 std::
size_t getNPoints() const throw();
196 Geometry* locateBetween(const
double& mStart, const
double& mEnd) const ;
210 double getLength() const;
219 std::unique_ptr<
Point> getStartPoint() const;
228 std::unique_ptr<
Point> getEndPoint() const;
237 bool isClosed() const;
253 std::
size_t size()
const {
return m_curves.size(); }
#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.
CompoundCurve is a curve that may have circular and linear segments.
void makeEmpty()
It clears all the segments.
void add(Curve *c)
It adds the curve to the compound.
CompoundCurve & operator=(const CompoundCurve &rhs)
Assignment operator.
Curve * getCurve(std::size_t i) const
It returns the i-th curve.
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.
static const std::string sm_typeName
te::dt::AbstractData * clone() const
It clones the compound curve.
CompoundCurve(const CompoundCurve &rhs)
Copy constructor.
std::vector< Curve * > m_curves
The list of segments of the compund curve.
CompoundCurve(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the compound curve with the specified spatial reference system id and envelope.
~CompoundCurve()
Virtual destructor.
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.
const std::string & getGeometryType() const
The name of instantiable subtype is: CompoundCurve.
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.