26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_SURFACE_H    27 #define __TERRALIB_GEOMETRY_INTERNAL_SURFACE_H    81         Surface(
const Surface& rhs);
    93         virtual Surface& operator=(
const Surface& rhs);
   121         virtual double getArea() 
const = 0;
   132         virtual Point* getCentroid() 
const = 0;
   145         virtual Coord2D* getCentroidCoord() 
const = 0;
   154         virtual Point* getPointOnSurface() 
const = 0;
   165         virtual Coord2D* getCoordOnSurface() 
const = 0;
   172         virtual double getPerimeter() 
const = 0;
   180 #endif  // __TERRALIB_GEOMETRY_INTERNAL_SURFACE_H GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code. 
 
An utility struct for representing 2D coordinates. 
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
A point with x and y coordinate values. 
 
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". 
 
#define TE_DEFINE_VISITABLE
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
virtual ~Surface()
Virtual destructor. 
 
Surface is an abstract class that represents a 2-dimensional geometric objects.