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);
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;
936 std::
string toString()
const {
return asText(); }
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.
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.
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.
GeomType m_gType
Internal geometry type.
TEGEOMEXPORT Coord2D * locateAlong(const LineString *line, double initial, double final, double target)
Make the line interpolation to find a target.
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.