TeGeometry Class Reference

#include <TeGeometry.h>

Inheritance diagram for TeGeometry:

TeCoverage< T > TeGeometryNone TeRaster TeTinEdge TeTinTriangle TeVector TeArc TeCell TeGeomComposite< T > TeGeomComposite< TeArc > TeGeomComposite< TeCell > TeGeomComposite< TeContourLine > TeGeomComposite< TeCoord2D > TeGeomComposite< TeLine2D > TeGeomComposite< TeLinearRing > TeGeomComposite< TeNode > TeGeomComposite< TePoint > TeGeomComposite< TePolygon > TeGeomComposite< TeSample > TeGeomComposite< TeText > TeGeomComposite< TeTinEdge > TeGeomComposite< TeTinTriangle > TeGeomComposite< TeTinVertex > TeGeomSingle< T > TeGeomSingle< TeCoord2D >

Detailed Description

All geometric classes of TerraLib are derived from TeGeometry. This class keep track of a geometryId and of a bounding box for the geometry

Note:
The Geometry classes in TerraLib use the Composite and the Visitor patterns
See also:
TeBox TeGeomComposite, TeGeomSingle

Definition at line 56 of file TeGeometry.h.


Public Member Functions

TeBoxbox ()
 Returns the bounding box.
const TeBoxbox () const
 Returns the constant bounding box.
virtual TeGeomRep elemType () const
 Returns the basic geometry type in a set of geometries structure.
void geomId (int id)
 Sets the geometryId.
int geomId () const
 Returns the geometry Id.
virtual bool isRing () const
 Returns TRUE if a geometry is a closed ring.
virtual void objectId (const string &id)
 Sets the objectId.
virtual string objectId () const
 Returns the object unique identification.
ostream & operator<< (ostream &os)
 Outputs the geometical identification to an output stream.
void setBox (const TeBox &box)
 Sets the bounding box for the object.
virtual unsigned int size () const
 Return the geometry size.
virtual void srid (const int &srid)
 Sets the srid.
virtual int srid () const
 Return the srid.
 TeGeometry (const TeGeometry &other)
 Copy Constructor.
 TeGeometry ()
 Empty constructor.
virtual ~TeGeometry ()
 Destructor.

Protected Attributes

TeBox box_
 The bounding box of the geometry.
int geomId_
 The unique geometry identification.
string objectId_
 The unique object identification associated to a geometry.
int srid_
 The srid associated to the geometry.

Constructor & Destructor Documentation

TeGeometry::TeGeometry (  )  [inline]

Definition at line 61 of file TeGeometry.h.

00061                     : box_ ( TeMAXFLOAT, TeMAXFLOAT, -TeMAXFLOAT, -TeMAXFLOAT ),
00062                 geomId_  ( 0 ), objectId_ (""), srid_(-1) {}

TeGeometry::TeGeometry ( const TeGeometry other  )  [inline]

Definition at line 65 of file TeGeometry.h.

References box_, geomId_, objectId_, and srid_.

00066         {
00067                 box_    = other.box_;
00068                 geomId_ = other.geomId_;
00069                 objectId_ = other.objectId_;
00070                 srid_ = other.srid_;
00071         }

virtual TeGeometry::~TeGeometry (  )  [inline, virtual]

Definition at line 74 of file TeGeometry.h.

00074 {}


Member Function Documentation

TeBox& TeGeometry::box (  )  [inline]

Definition at line 85 of file TeGeometry.h.

00086         { return box_; }

const TeBox& TeGeometry::box (  )  const [inline]

Definition at line 81 of file TeGeometry.h.

Referenced by TeLayer::addCells(), TeLayer::addLines(), TeLayer::addPoints(), TeLayer::addPolygons(), TeLayer::addText(), TeRaster::begin(), TeTin::calculateGradient(), calculateLabelPosition(), TeProxMatrixKeepInBothTopologyStrategy::Construct(), TeProxMatrixChooseOneTopologyStrategy::Construct(), TeProxMatrixLocalTopologyStrategy::Construct(), TeTin::createTIN(), TeTin::defineInterLinesColumns(), TeTin::duplicateTriangle(), TeTin::dupNeighTriangle(), TeCoverage< T >::evaluate(), TePDIBatchGeoMosaic::extractCloserRasterNode(), TePostGISPortal::fetchGeometry(), TeOracleSpatialPortal::fetchGeometry(), TeMultiGeometry::getBox(), TePolygonSetProperties::getPolygonLength(), TePolygonSetProperties::getPolygonRectangularFit(), TePolygonSetProperties::getPolygonWidth(), TePolygonSetProperties::getRasterInPolygon(), TePostgreSQL::insertCell(), TePostGIS::insertCell(), TeOracleSpatial::insertCell(), TeOCIOracle::insertCell(), TeMySQL::insertCell(), TeFirebird::insertCell(), TeOracle::insertCell(), TeAdo::insertCell(), TeSQLite::insertLine(), TePostgreSQL::insertLine(), TeOCIOracle::insertLine(), TeMySQL::insertLine(), TeFirebird::insertLine(), TeSqlServer::insertLine(), TeOracle::insertLine(), TeAdo::insertLine(), TeMySQL::insertLineSet(), TeOracle::insertLineSet(), TePostgreSQL::insertNode(), TeTin::insertPoint(), TePostgreSQL::insertPoint(), TeSQLite::insertPolygon(), TePostgreSQL::insertPolygon(), TeOCIOracle::insertPolygon(), TeMySQL::insertPolygon(), TeFirebird::insertPolygon(), TeOracle::insertPolygon(), TeMySQL::insertPolygonSet(), TeTin::linearInterpolation(), TeDXFDriver::loadData(), TeTin::loadTIN(), main(), TeText::operator=(), PGBoxFromPolygon(), TeQtCanvas::plotArc(), TeQtCanvas::plotCell(), TeQtCanvas::plotLine(), TeQtCanvas::plotPolygon(), TeTin::quinticInterpolation(), Relation(), TePDIUtils::reprojectRaster(), TePDITPMosaic::RunImplementation(), TePDIRaster2Vector::RunImplementation(), TePDIGeoMosaic::RunImplementation(), TeCoverageDecoderDatabase< T >::selectBlocks(), TeCoverageDecoderCacheLRU< T >::selectBlocks(), TeFileTheme::setRasterFile(), TeOracleSpatial::spatialRelation(), TeTin::swapEdges(), TeCellInterpolate(), TeCoveredBy(), TeCrosses(), TeDisjoint(), TeEquals(), TeExportMIFCellSet(), TeExportQuerierToSPRING(), TeFillCellNonSpatialRasterOperation(), TeFindCentroid(), TeFindCentroidConcavePolygon(), TeGeoOpOverlayDifference(), TeGeoOpOverlayIntersection(), TeGeoOpOverlayUnion(), TeGetArea(), TeGetBuffer(), TeGetLength(), TeGetOverlay(), TeImportSPR(), TeINTERSECTOR2::TeIntersects(), TeIsOnLine(), TeINTERSECTOR2::TeIsSimple(), TeMask(), TeMemoryZonal(), TeOVERLAY::TeMergeFragments(), TeMergeFragmentsFB(), TeOVERLAY::TeMountTopology(), TeNearest(), TeNearestByPoints(), TeOverlaps(), TeOverlay(), TePlotSelectedObjects(), TePolygonSetMemoryZonal(), TeRelation(), TeINTERSECTOR2::TeSafeIntersections(), TeSAM::TeSafeIntersectionsGrid(), TeSHPPolygonDecode(), testCoverage(), TeText::TeText(), TeTopologicalRelation(), TeTouches(), TeOVERLAY::TeUnion(), TeVectorRemap(), TeWithin(), TeWithinOrCoveredByOrEquals(), TopologicRelation(), TeTin::twoNewTriangles(), updateBox(), TePostgreSQL::updateCell(), TePostGIS::updateCell(), TeOracleSpatial::updateCell(), TeDatabase::updateCell(), TeLayer::updateCells(), TeSQLite::updateLine(), TePostgreSQL::updateLine(), TeOCIOracle::updateLine(), TeMySQL::updateLine(), TeFirebird::updateLine(), TeAdo::updateLine(), TeLayer::updateLines(), TePostgreSQL::updateNode(), TePostgreSQL::updatePoint(), TeLayer::updatePoints(), TeSQLite::updatePolygon(), TePostgreSQL::updatePolygon(), TeOCIOracle::updatePolygon(), TeMySQL::updatePolygon(), TeFirebird::updatePolygon(), TeAdo::updatePolygon(), TeLayer::updatePolygons(), TeLayer::updateText(), and TeDatabase::zonal().

00082         { return box_; }

virtual TeGeomRep TeGeometry::elemType (  )  const [inline, virtual]

Reimplemented in TeGeometryNone, TeLine2D, TeLineSet, TePolygon, TePolygonSet, TePoint, TePointSet, TeText, TeTextSet, TeNode, TeNodeSet, TeArc, TeArcSet, TeSample, TeSampleSet, TeContourLineSet, TeCell, and TeCellSet.

Definition at line 128 of file TeGeometry.h.

References TeGEOMETRYNONE.

Referenced by Convert2OGR(), fillResultIdsVector(), and TeOracleSpatial::spatialRelation().

00129         { return TeGEOMETRYNONE; }

void TeGeometry::geomId ( int  id  )  [inline]

Definition at line 93 of file TeGeometry.h.

00094         { geomId_ = id; }

int TeGeometry::geomId (  )  const [inline]

Examples:
databaseQuery.cpp, and databaseSQLQuery.cpp.

Definition at line 89 of file TeGeometry.h.

Referenced by TeSTEventSet::buildKdTree(), TePolygonSet::copyElements(), TePolygon::copyElements(), TeLineSet::copyElements(), TeSQLitePortal::fetchGeometry(), TePostgreSQLPortal::fetchGeometry(), TePostGISPortal::fetchGeometry(), TeOracleSpatialPortal::fetchGeometry(), TeOCIOraclePortal::fetchGeometry(), TeMySQLPortal::fetchGeometry(), TeFirebirdPortal::fetchGeometry(), TeDatabasePortal::fetchGeometry(), TeSqlServerSpatialPortal::fetchGeometry(), TeAdoPortal::fetchGeometry(), TePostgreSQLPortal::getLinearRing(), TeOCIOraclePortal::getLinearRing(), TeMySQLPortal::getLinearRing(), TeFirebirdPortal::getLinearRing(), TeAdoPortal::getLinearRing(), TeAppTheme::getTextVisual(), TePostgreSQL::insertArc(), TeOracleSpatial::insertArc(), TeOCIOracle::insertArc(), TeMySQL::insertArc(), TeFirebird::insertArc(), TeOracle::insertArc(), TeAdo::insertArc(), TeAdo::insertArcSet(), TePostgreSQL::insertCell(), TePostGIS::insertCell(), TeMySQL::insertCell(), TeFirebird::insertCell(), TeOracle::insertCell(), TeAdo::insertCell(), TeAdo::insertCellSet(), TeSQLite::insertLine(), TePostgreSQL::insertLine(), TePostGIS::insertLine(), TeOCIOracle::insertLine(), TeNetwork::insertLine(), TeGraphNetwork::insertLine(), TeMySQL::insertLine(), TeFirebird::insertLine(), TeSqlServer::insertLine(), TeAdo::insertLine(), TeMySQL::insertLineSet(), TeSqlServerSpatial::insertLineSet(), TeSqlServer::insertLineSet(), TeAdo::insertLineSet(), TePostgreSQL::insertNode(), TePostGIS::insertNode(), TeMySQL::insertNode(), TeFirebird::insertNode(), TeOracle::insertNode(), TeAdo::insertNode(), TeAdo::insertNodeSet(), TeSQLite::insertPoint(), TePostgreSQL::insertPoint(), TePostGIS::insertPoint(), TeMySQL::insertPoint(), TeFirebird::insertPoint(), TeSqlServer::insertPoint(), TeOracle::insertPoint(), TeAdo::insertPoint(), TeSqlServerSpatial::insertPointSet(), TeSqlServer::insertPointSet(), TeAdo::insertPointSet(), TeSQLite::insertPolygon(), TePostgreSQL::insertPolygon(), TePostGIS::insertPolygon(), TeOCIOracle::insertPolygon(), TeMySQL::insertPolygon(), TeFirebird::insertPolygon(), TeSqlServer::insertPolygon(), TeOracle::insertPolygon(), TeAdo::insertPolygon(), TeMySQL::insertPolygonSet(), TeSqlServerSpatial::insertPolygonSet(), TeSqlServer::insertPolygonSet(), TeAdo::insertPolygonSet(), TePostgreSQL::insertText(), TeMySQL::insertText(), TeFirebird::insertText(), TeSqlServer::insertText(), TeOracle::insertText(), TeAdo::insertText(), TeSqlServerSpatial::insertTextSet(), TeSqlServer::insertTextSet(), TeAdo::insertTextSet(), TeShapefileDriver::loadData(), main(), TeTin::onIsolineSegment(), operator<<(), printGeom(), TeQtMultiTextEdit::push(), TeFindCentroidConcavePolygon(), TeImportSPR(), TeNetwork::TeNetwork(), TeReadCSVFile(), TeOVERLAY::TeSplitRing(), TeOVERLAY::TeValidPolygonHoles(), TeDatabase::updateArc(), TePostgreSQL::updateCell(), TePostGIS::updateCell(), TeOracleSpatial::updateCell(), TeDatabase::updateCell(), TeSQLite::updateLine(), TePostgreSQL::updateLine(), TePostGIS::updateLine(), TeOracleSpatial::updateLine(), TeOCIOracle::updateLine(), TeMySQL::updateLine(), TeFirebird::updateLine(), TeAdo::updateLine(), TePostgreSQL::updateNode(), TePostGIS::updateNode(), TeOracleSpatial::updateNode(), TeDatabase::updateNode(), TeAdo::updateNode(), TePostgreSQL::updatePoint(), TePostGIS::updatePoint(), TeOracleSpatial::updatePoint(), TeDatabase::updatePoint(), TeAdo::updatePoint(), updatePointLocation(), TeSQLite::updatePolygon(), TePostgreSQL::updatePolygon(), TePostGIS::updatePolygon(), TeOracleSpatial::updatePolygon(), TeOCIOracle::updatePolygon(), TeMySQL::updatePolygon(), TeFirebird::updatePolygon(), TeAdo::updatePolygon(), and TeDatabase::updateText().

00090         { return geomId_; }

virtual bool TeGeometry::isRing (  )  const [inline, virtual]

Reimplemented in TeLine2D.

Definition at line 124 of file TeGeometry.h.

00125         { return false; }

virtual void TeGeometry::objectId ( const string id  )  [inline, virtual]

Reimplemented in TeGeomComposite< T >, TeLine2D, and TePoint.

Definition at line 101 of file TeGeometry.h.

00102         { objectId_ = id; }

virtual string TeGeometry::objectId (  )  const [inline, virtual]

Reimplemented in TeGeomComposite< T >, TeLine2D, TePoint, TeGeomComposite< TeArc >, TeGeomComposite< TePoint >, TeGeomComposite< TeTinEdge >, TeGeomComposite< TeText >, TeGeomComposite< TeTinTriangle >, TeGeomComposite< TeSample >, TeGeomComposite< TeContourLine >, TeGeomComposite< TePolygon >, TeGeomComposite< TeLine2D >, TeGeomComposite< TeLinearRing >, TeGeomComposite< TeCell >, TeGeomComposite< TeTinVertex >, TeGeomComposite< TeNode >, and TeGeomComposite< TeCoord2D >.

Definition at line 97 of file TeGeometry.h.

Referenced by TeSTInstance::addGeometry(), TeMultiGeometry::addGeometry(), TeProxMatrixOpenNetworkStrategy2::Construct(), TeProxMatrixOpenNetworkStrategy::Construct(), TeProxMatrixClosedNetworkStrategy::Construct(), TeTin::createTIN(), TeSQLitePortal::fetchGeometry(), TePostgreSQLPortal::fetchGeometry(), TePostGISPortal::fetchGeometry(), TeOracleSpatialPortal::fetchGeometry(), TeOCIOraclePortal::fetchGeometry(), TeMySQLPortal::fetchGeometry(), TeFirebirdPortal::fetchGeometry(), TeDatabasePortal::fetchGeometry(), TeAdoPortal::fetchGeometry(), fillResultIdsVector(), TePostgreSQL::insertArc(), TeOracleSpatial::insertArc(), TeOCIOracle::insertArc(), TeMySQL::insertArc(), TeFirebird::insertArc(), TeOracle::insertArc(), TeAdo::insertArc(), TeAdo::insertArcSet(), TePostgreSQL::insertCell(), TePostGIS::insertCell(), TeOracleSpatial::insertCell(), TeOCIOracle::insertCell(), TeMySQL::insertCell(), TeFirebird::insertCell(), TeOracle::insertCell(), TeAdo::insertCell(), TeNetwork::insertLine(), TeGraphNetwork::insertLine(), TePostgreSQL::insertNode(), TePostGIS::insertNode(), TeOracleSpatial::insertNode(), TeOCIOracle::insertNode(), TeMySQL::insertNode(), TeFirebird::insertNode(), TeOracle::insertNode(), TeAdo::insertNode(), TeAdo::insertNodeSet(), TePostgreSQL::insertText(), TeOracleSpatial::insertText(), TeOCIOracle::insertText(), TeMySQL::insertText(), TeFirebird::insertText(), TeSqlServer::insertText(), TeOracle::insertText(), TeAdo::insertText(), TeDatabase::loadLayerRaster(), multiGeometryToLayer(), operator<<(), TeLayer::raster(), TeCreateCells(), TeFillCellInitSTO(), TeGeoOpAssignDataLocationDistribute(), TeGetCentroid(), TeGetDistance(), TeGetWithinDistance(), TeImportSPR(), TeNetwork::TeNetwork(), TePostGIS::updateCell(), TeOracleSpatial::updateCell(), TePostgreSQL::updateNode(), TePostGIS::updateNode(), TeOracleSpatial::updateNode(), and TeAdo::updateNode().

00098         { return objectId_; }

ostream& TeGeometry::operator<< ( ostream &  os  )  [inline]

Reimplemented in TeNode.

Definition at line 117 of file TeGeometry.h.

References Te2String().

00118         {
00119                 os << Te2String(geomId_);
00120                 return os;
00121         }

void TeGeometry::setBox ( const TeBox box  )  [inline]

Definition at line 77 of file TeGeometry.h.

Referenced by TeTin::borderUp(), TeTin::createInitialTriangles(), TePDIRaster2Vector::detectEdge(), TeTin::duplicateTriangle(), TeTin::dupNeighTriangle(), TePostgreSQLPortal::fetchGeometry(), TePostGISPortal::fetchGeometry(), TeOracleSpatialPortal::fetchGeometry(), TeMySQLPortal::fetchGeometry(), TeDatabasePortal::fetchGeometry(), TeAdoPortal::fetchGeometry(), TeOCIOraclePortal::getLinearRing(), TeMySQLPortal::getLinearRing(), TeFirebirdPortal::getLinearRing(), TeAdoPortal::getLinearRing(), TeCoverage< T >::init(), TeTin::loadTIN(), TeText::operator=(), PGLine_decode(), PGPolygon_decode(), TeText::setLocation(), TeTin::swapEdges(), TeCell::TeCell(), TeMakePolygon(), TeOVERLAY::TeMergeFragments(), TeMergeFragmentsFB(), TePoint::TePoint(), TeText::TeText(), TeTinVertex::TeTinVertex(), TeVectorRemap(), and TeTin::twoNewTriangles().

00078         { box_  = box; }

virtual unsigned int TeGeometry::size (  )  const [inline, virtual]

Reimplemented in TeGeomComposite< T >, TeGeomComposite< TeArc >, TeGeomComposite< TePoint >, TeGeomComposite< TeTinEdge >, TeGeomComposite< TeText >, TeGeomComposite< TeTinTriangle >, TeGeomComposite< TeSample >, TeGeomComposite< TeContourLine >, TeGeomComposite< TePolygon >, TeGeomComposite< TeLine2D >, TeGeomComposite< TeLinearRing >, TeGeomComposite< TeCell >, TeGeomComposite< TeTinVertex >, TeGeomComposite< TeNode >, and TeGeomComposite< TeCoord2D >.

Definition at line 113 of file TeGeometry.h.

Referenced by fillResultIdsVector().

00114         { return 0; }

virtual void TeGeometry::srid ( const int &  srid  )  [inline, virtual]

Definition at line 109 of file TeGeometry.h.

00110         { srid_ = srid; }

virtual int TeGeometry::srid (  )  const [inline, virtual]

Definition at line 105 of file TeGeometry.h.

Referenced by TeLayer::addCells(), TeLayer::addLines(), TeLayer::addPoints(), TeLayer::addPolygons(), TeLayer::addText(), TePGRecordset::getWKBLine(), TePGRecordset::getWKBMultiLine(), TePGRecordset::getWKBMultiPoint(), TePGRecordset::getWKBMultiPolygon(), TePGRecordset::getWKBPoint(), TePGRecordset::getWKBPolygon(), TePostGIS::insertCell(), TeLine2DToWKBLineString(), TePointToWKBPoint(), TePolygonToWKBPolygon(), TeLayer::updateCells(), TeLayer::updateLines(), TeLayer::updatePoints(), TeLayer::updatePolygons(), and TeLayer::updateText().

00106         { return srid_; }


Field Documentation

TeBox TeGeometry::box_ [protected]

Definition at line 133 of file TeGeometry.h.

Referenced by TeGeomComposite< TeCoord2D >::add(), TeGeomSingle< TeCoord2D >::add(), TeGeomComposite< TeCoord2D >::clear(), TeGeomComposite< TeCoord2D >::erase(), TeRaster::init(), TeGeomComposite< TeCoord2D >::operator=(), TeGeomSingle< TeCoord2D >::operator=(), TeRaster::setDecoder(), TeGeomComposite< TeCoord2D >::TeGeomComposite(), TeGeometry(), TeGeomSingle< TeCoord2D >::TeGeomSingle(), TeRaster::TeRaster(), and TeRaster::updateParams().

int TeGeometry::geomId_ [protected]

Definition at line 134 of file TeGeometry.h.

Referenced by TeGeomComposite< TeCoord2D >::copyElements(), TePolygonSet::copyElements(), TePolygon::copyElements(), TeLineSet::copyElements(), TeText::operator=(), TeGeomComposite< TeCoord2D >::operator=(), TeGeomSingle< TeCoord2D >::operator=(), TeText::operator==(), TeGeomComposite< TeCoord2D >::TeGeomComposite(), TeGeometry(), TeGeomSingle< TeCoord2D >::TeGeomSingle(), and TeText::TeText().

string TeGeometry::objectId_ [protected]

Definition at line 135 of file TeGeometry.h.

Referenced by TeGeomComposite< TeCoord2D >::copyElements(), TePolygonSet::copyElements(), TePolygon::copyElements(), TeLineSet::copyElements(), TeGeomComposite< TeCoord2D >::objectId(), TeText::operator=(), TeGeomComposite< TeCoord2D >::operator=(), TeGeomSingle< TeCoord2D >::operator=(), TeText::operator==(), TeGeomComposite< TeCoord2D >::TeGeomComposite(), TeGeometry(), TeGeomSingle< TeCoord2D >::TeGeomSingle(), and TeText::TeText().

int TeGeometry::srid_ [protected]

Definition at line 136 of file TeGeometry.h.

Referenced by TeGeometry().


The documentation for this class was generated from the following file:
Generated on Sun Jul 29 04:06:21 2012 for TerraLib - Development Source by  doxygen 1.5.3