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.