26#ifndef __TERRALIB_GEOMETRY_INTERNAL_SURFACE_H
27#define __TERRALIB_GEOMETRY_INTERNAL_SURFACE_H
#define TE_DEFINE_VISITABLE
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
An Envelope defines a 2D rectangular region.
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.
A point with x and y coordinate values.
virtual Surface & operator=(const Surface &rhs)
Assignment operator.
virtual ~Surface()
Virtual destructor.
Surface(const Surface &rhs)
Copy constructor.
virtual Coord2D * getCoordOnSurface() const =0
It returns a coordinate guaranteed to be on this surface.
virtual Point * getCentroid() const =0
It returns the mathematical centroid for the surface as a point.
virtual double getPerimeter() const =0
It returns the length of the boundary for the surface.
Dimensionality getDimension() const
Surfaces are 2-dimensional objects.
virtual double getArea() const =0
It returns the area of the surface measured in the spatial reference system of the surface.
virtual Coord2D * getCentroidCoord() const =0
It returns the mathematical centroid for this surface as a coordinate.
Surface(GeomType t, int srid=0, Envelope *mbr=0)
It initializes the surface with the specified spatial reference system id and envelope.
virtual Point * getPointOnSurface() const =0
It returns a point guaranteed to be on this surface.
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,...
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.