26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H    27 #define __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H    87         CurvePolygon(
const CurvePolygon& rhs);
    90         virtual ~CurvePolygon();
    99         virtual CurvePolygon& operator=(
const CurvePolygon& rhs);
   137         Curve* getExteriorRing() 
const;
   144         std::size_t getNumInteriorRings() 
const;
   155           return m_rings.size();
   167         void setNumRings(std::size_t size);
   178         Curve* getInteriorRingN(std::size_t i) 
const;
   195           assert(i < m_rings.size());
   210           assert(i < m_rings.size());
   225           assert(i < m_rings.size());
   243         void setRingN(std::size_t i, 
Curve* r);
   258         void removeRingN(std::size_t i);
   267         void add(
Curve* ring);
   276         void push_back(
Curve* ring);
   294         std::vector<Curve*>& 
getRings() { 
return m_rings; }
   305         const std::vector<Curve*>& 
getRings()
 const { 
return m_rings; }
   319         double getArea() 
const;
   329         Point* getCentroid() 
const;
   340         Coord2D* getCentroidCoord() 
const;
   349         Point* getPointOnSurface() 
const;
   360         Coord2D* getCoordOnSurface() 
const;
   367         double getPerimeter() 
const;
   381         virtual const std::string& getGeometryType() 
const throw();
   392         void setSRID(
int srid) 
throw();
   418         void computeMBR(
bool cascade) 
const throw();
   427         std::size_t getNPoints() 
const throw();
   441 #endif  // __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H std::size_t getNumRings() const 
It returns the number of rings in this CurvePolygon. 
 
std::vector< Curve * > & getRings()
It returns the polygon rings. 
 
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code. 
 
Curve * operator[](std::size_t i)
It returns the n-th ring. 
 
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
 
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. 
 
static const std::string sm_typeName
 
const std::vector< Curve * > & getRings() const 
It returns the polygon rings. 
 
A point with x and y coordinate values. 
 
An Envelope defines a 2D rectangular region. 
 
Surface is an abstract class that represents a 2-dimensional geometric objects. 
 
CurvePolygon is a planar surface defined by 1 exterior boundary and 0 or more interior boundaries...
 
A base class for values that can be retrieved from the data access module. 
 
#define TE_DEFINE_VISITABLE
 
This class is designed to declare objects to be thrown as exceptions by TerraLib. ...
 
Curve * operator[](std::size_t i) const 
It returns the n-th ring. 
 
Curve * getRingN(std::size_t i) const 
It returns the n-th ring for this curve polygon as a curve. 
 
Surface is an abstract class that represents a 2-dimensional geometric objects. 
 
std::vector< Curve * > m_rings
An array with the ring list.