Go to the documentation of this file.
   26 #ifndef __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H 
   27 #define __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H 
  155           return m_rings.size();
 
  195           assert(i < m_rings.size());
 
  210           assert(i < m_rings.size());
 
  225           assert(i < m_rings.size());
 
  294         std::vector<Curve*>& 
getRings() { 
return m_rings; }
 
  305         const std::vector<Curve*>& 
getRings()
 const { 
return m_rings; }
 
  392         void setSRID(
int srid) throw();
 
  407         void convert(
te::srs::Converter* converter) override;
 
  418         void computeMBR(
bool cascade) const throw();
 
  427         std::
size_t getNPoints() const throw();
 
  435         static const std::
string sm_typeName; 
 
  441 #endif  // __TERRALIB_GEOMETRY_INTERNAL_CURVEPOLYGON_H 
  
 
virtual CurvePolygon & operator=(const CurvePolygon &rhs)
Assignment operator.
 
An Envelope defines a 2D rectangular region.
 
CurvePolygon(std::size_t nRings, GeomType t, int srid=0, Envelope *mbr=0)
It initializes the curve polygon with the specified spatial reference system id and envelope.
 
void setRingN(std::size_t i, Curve *r)
It sets the informed position ring to the new one.
 
std::size_t getNumRings() const
It returns the number of rings in this CurvePolygon.
 
std::size_t getNumInteriorRings() const
It returns the number of interior rings in this CurvePolygon.
 
Coord2D * getCentroidCoord() const
It returns the mathematical centroid for this surface as a coordinate.
 
void add(Curve *ring)
It adds the ring to the curve polygon.
 
virtual const std::string & getGeometryType() const
The name of the geometry subtype for curve polygons is: CurvePolygon.
 
std::vector< Curve * > & getRings()
It returns the polygon rings.
 
double getArea() const
It returns the area of this surface, as measured in the spatial reference system of this surface.
 
Surface is an abstract class that represents a 2-dimensional geometric objects.
 
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
virtual te::dt::AbstractData * clone() const
It clones the linestring.
 
Curve * getExteriorRing() const
It returns the exterior ring of this CurvePolygon.
 
Curve * operator[](std::size_t i)
It returns the n-th ring.
 
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.
 
void setNumRings(std::size_t size)
It sets the number of rings in this curve polygon.
 
void push_back(Curve *ring)
It adds the curve to the curve polygon.
 
#define TE_DEFINE_VISITABLE
 
Curve * getRingN(std::size_t i) const
It returns the n-th ring for this curve polygon as a curve.
 
double getPerimeter() const
It returns the length of the boundary for the surface.
 
void clear()
It deletes all the rings of the CurvePolygon and clear it.
 
Point * getPointOnSurface() const
It returns a point guaranteed to be on this surface.
 
Curve * operator[](std::size_t i) const
It returns the n-th ring.
 
An utility struct for representing 2D coordinates.
 
A base class for values that can be retrieved from the data access module.
 
CurvePolygon(const CurvePolygon &rhs)
Copy constructor.
 
void removeRingN(std::size_t i)
It removes the n-th ring in this CurvePolygon.
 
Coord2D * getCoordOnSurface() const
It returns a coordinate guaranteed to be on this surface.
 
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of co...
 
Curve * getInteriorRingN(std::size_t i) const
It returns the n-th interior ring for this curve polygon as a curve.
 
const std::vector< Curve * > & getRings() const
It returns the polygon rings.
 
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
 
Point * getCentroid() const
It returns the mathematical centroid for this surface as a point.
 
A point with x and y coordinate values.
 
virtual ~CurvePolygon()
Virtual destructor.