26#ifndef __TERRALIB_GEOMETRY_INTERNAL_GEOMETRYCOLLECTION_H
27#define __TERRALIB_GEOMETRY_INTERNAL_GEOMETRYCOLLECTION_H
#define TE_DEFINE_VISITABLE
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A base class for values that can be retrieved from the data access module.
An Envelope defines a 2D rectangular region.
GeometryCollection(std::size_t nGeom, GeomType t, int srid=0, Envelope *mbr=0)
It initializes the geometry collection with the specified spatial reference system id and envelope.
void convert(te::srs::Converter *converter) override
It will transform the coordinates of the geometry collection to the new one.
std::size_t getNPoints() const
it returns the number of points (vertexes) in the geometry.
void removeGeometryN(std::size_t i)
It removes the n-th geometry in this geometry collection.
static const std::string sm_typeName
Geometry type name for GeometryCollection.
std::vector< Geometry * > & getGeometries()
It returns a reference to the internal list of geometries.
void add(Geometry *g)
It adds the geometry into the collection.
virtual ~GeometryCollection()
Virtual destructor.
void setSRID(int srid)
It sets the Spatial Reference System ID of the geometry collection and all its parts.
void computeMBR(bool cascade) const
It computes the minimum bounding rectangle for the geometry collection.
virtual Dimensionality getDimension() const
For non-homogeneous collections this method will return the largest dimension of the contained object...
void setNumGeometries(std::size_t size)
It sets the number of geometries in this GeometryCollection.
GeometryCollection(const GeometryCollection &rhs)
Copy constructor.
virtual const std::string & getGeometryType() const
The name of the Geometry subtype is: GeometryCollection.
Geometry * getGeometryN(std::size_t i) const
It returns the n-th geometry in this GeometryCollection.
void setGeometryN(std::size_t i, Geometry *g)
It sets the n-th geometry in this geometry collection.
void clear()
It deletes all the elements of the collection.
std::size_t getNumGeometries() const
It returns the number of geometries in this GeometryCollection.
std::vector< Geometry * > m_geometries
The array of geometries that forms the collection.
const std::vector< Geometry * > & getGeometries() const
It returns a reference to the internal list of geometries.
virtual te::dt::AbstractData * clone() const
It clones the geometry collection.
GeometryCollection & operator=(const GeometryCollection &rhs)
Assignment operator.
Geometry * getGeometryN(std::size_t i)
It returns the n-th geometry in this GeometryCollection.
Geometry(GeomType t, int srid=0, Envelope *mbr=0) _NOEXCEPT_OP(true)
It initializes the Geometry with the specified spatial reference system id and envelope.
Namespace for the Vector Geometry module of TerraLib.
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
Dimensionality
From Wikipedia: "in mathematics, the dimension of an object is an intrinsic property,...
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.