26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_GEOMETRY_H 27 #define __TERRALIB_GEOMETRY_INTERNAL_GEOMETRY_H 30 #include "../common/BaseVisitable.h" 31 #include "../common/Enums.h" 32 #include "../datatype/AbstractData.h" 33 #include "../NoExceptDefinition.h" 45 #include <boost/shared_ptr.hpp> 169 virtual const std::string& getGeometryType()
const _NOEXCEPT_OP(
true)= 0;
203 virtual const std::string get2DGeometryType()
const _NOEXCEPT_OP(
true);
240 int getSRID() const _NOEXCEPT_OP(true){
return m_srid; }
266 virtual void transform(
int srid)
_NOEXCEPT_OP(
false) = 0;
312 virtual void computeMBR(
bool cascade)
const _NOEXCEPT_OP(
true)= 0;
335 char* asBinary(std::size_t& size)
const _NOEXCEPT_OP(
false);
456 virtual std::size_t getNPoints()
const _NOEXCEPT_OP(
true)= 0;
480 virtual bool equals(
const Geometry*
const rhs,
const bool exact =
false)
const _NOEXCEPT_OP(
false);
605 virtual bool relate(
const Geometry*
const rhs,
const std::string& matrix)
const _NOEXCEPT_OP(
false);
695 virtual Geometry* locateBetween(
const double& mStart,
const double& mEnd)
const _NOEXCEPT_OP(
false);
748 virtual Geometry* buffer(
const double& distance,
int quadrantSegments)
const _NOEXCEPT_OP(
false);
771 virtual Geometry* buffer(
const double& distance,
772 int quadrantSegments,
870 virtual bool dWithin(
const Geometry*
const rhs,
const double& distance)
const _NOEXCEPT_OP(
false);
888 static GeomType getGeomTypeId(
const std::string& gtype);
899 static std::string getGeomTypeString(
const int& gId);
908 static bool isGeomType(
const std::string& stype);
915 static void loadGeomTypeId();
929 int getTypeCode()
const;
954 #endif // __TERRALIB_GEOMETRY_INTERNAL_GEOMETRY_H GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
BufferCapStyle
Buffer end cap style.
The root of all hierarchies that can be visited.
GeomType getGeomTypeId() const _NOEXCEPT_OP(true)
It returns the geometry subclass type identifier.
int m_srid
The Spatial Reference System code associated to the Geometry.
virtual Geometry * locateAlong(const double &mValue) const _NOEXCEPT_OP(false)
It returns a derived GeometryCollection value according to the specified coordinate value...
An utility struct for representing 2D coordinates.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
int getSRID() const _NOEXCEPT_OP(true)
It returns the Spatial Reference System ID associated to this geometric object.
An Envelope defines a 2D rectangular region.
Dimensionality
From Wikipedia: "in mathematics, the dimension of an object is an intrinsic property, independent of the space in which the object may happen to be embedded".
A base class for values that can be retrieved from the data access module.
MachineByteOrder
Endianness.
#define TE_DEFINE_VISITABLE
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Envelope * m_mbr
The geometry minimum bounding rectangle.
An exception class for the Geometry module.
std::string toString() const
It returns the data value in a WKT representation.
GeomType m_gType
Internal geometry type.
boost::shared_ptr< Geometry > GeometryShrPtr
An utility struct for representing 2D coordinates.
static std::map< std::string, GeomType > sm_geomTypeMap
A set of geometry type names (in UPPER CASE).
A visitor interface for the Geometry hierarchy.