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);
 
  269           m_rings.push_back(ring);
 
  281           m_rings.push_back(ring);
 
  300         std::vector<Curve*>& 
getRings() { 
return m_rings; }
 
  311         const std::vector<Curve*>& 
getRings()
 const { 
return m_rings; }
 
  325         double getArea() 
const;
 
  335         Point* getCentroid() 
const;
 
  346         Coord2D* getCentroidCoord() 
const;
 
  355         Point* getPointOnSurface() 
const;
 
  366         Coord2D* getCoordOnSurface() 
const;
 
  373         double getPerimeter() 
const;
 
  387         virtual const std::string& getGeometryType() 
const throw();
 
  398         void setSRID(
int srid) throw();
 
  413         void transform(
int srid) throw(
te::common::
Exception);
 
  424         void computeMBR(
bool cascade) const throw();
 
  433         std::
size_t getNPoints() const throw();
 
  441         static const std::
string sm_typeName; 
 
  447 #endif  // __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H 
std::size_t getNumRings() const 
It returns the number of rings in this CurvePolygon. 
 
void add(Curve *ring)
It adds the ring to the curve polygon. 
 
void push_back(Curve *ring)
It adds the curve to the curve polygon. 
 
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. 
 
Base exception class for plugin module. 
 
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. 
 
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
 
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.