| ToolMap
    | 
 
  
| Public Member Functions | |
| OGRLineString * | InsertVertex (OGRGeometry *pointbuffer, wxRealPoint ptclicked, OGRLineString *line, int &inseredvertex) | 
| Insert a vertex in a passed line. | |
| OGRLineString * | InsertVertexMultiple (OGRLineString *line, OGRMultiPoint *vertex, const wxArrayInt &point_pos) | 
| Insert multiple vertex into line. | |
| virtual TM_GIS_SPATIAL_TYPES | GetSpatialType () | 
| virtual bool | SetSpatialFilter (tmRealRect filter, int type) | 
| virtual bool | SetAttributeFilter (const wxString &query) | 
| virtual wxRealPoint * | GetNextDataLine (int &nbvertex, long &oid, bool &isOver) | 
| virtual OGRFeature * | GetNextFeature () | 
| virtual bool | ResetReading () | 
| virtual wxRealPoint * | GetNextDataPoint (long &oid, bool &isOver) | 
| virtual int | GetNextDataPolygonInfo (long &oid) | 
| virtual wxRealPoint * | GetNextDataPolygon (int currentring, int &nbvertex) | 
| virtual OGRFeature * | GetFeatureByOID (long oid) | 
| virtual long | AddGeometry (OGRGeometry *Geom, const long &oid, int layertype=wxNOT_FOUND) | 
| virtual bool | UpdateGeometry (OGRGeometry *geom, const long &oid) | 
| virtual bool | SplitGeometry (OGRGeometryCollection *gCol, const long &oid, wxArrayLong &AddedIds, int layertype) | 
| Save splitted geometry to file. | |
| virtual OGRGeometryCollection * | GetGeometryColByOID (wxArrayLong *OIDs) | 
| virtual void | CloseGeometry () | 
| virtual OGRGeometry * | GetNextGeometry (bool restart, long &oid) | 
| virtual bool | DeleteFile (const wxString &layername) | 
| virtual int | GetCount () | 
| virtual int | GetFieldsCount () | 
| virtual bool | GetFieldsName (wxArrayString &Fields, long oid=wxNOT_FOUND) | 
| virtual bool | GetFieldsValue (wxArrayString &values, long oid) | 
| wxString | GetFieldsMetadata () | 
| Formating fields info into html string. | |
| bool | CutLineAtVertex (long oid, const wxRealPoint &clickedpt, int searchRadius, int layertype) | 
| Cut line in two at specified point. | |
| bool | CutLineGeometry (OGRLineString *line1, OGRLineString *line2, OGRMultiLineString &res1, OGRMultiLineString &res2) | 
| Cut two lines where they intesects. | |
| bool | CutLineMultiple (OGRLineString *linetocut, OGRMultiLineString *cutlines, OGRMultiLineString &results) | 
| Cut one line with multiple line. | |
| bool | LinesMerge (OGRMultiLineString *linetomerge, OGRGeometry **linemerged) | 
| Merge lines. | |
| virtual wxArrayLong * | SearchIntersectingGeometry (OGRGeometry *intersectinggeom) | 
| virtual int | IsRaster () | 
|  Public Member Functions inherited from tmGISData | |
| tmGISData () | |
| Constructor. | |
| ~tmGISData () | |
| Destructor. | |
| int | GetDataType () | 
| void | SetCoordConvert (tmCoordConvert *coordconvert) | 
| tmCoordConvert * | GetCoordConvert () | 
| virtual bool | Open (const wxString &filename, bool bReadWrite=TRUE) | 
| Generic open code. | |
| virtual bool | Close () | 
| virtual tmRealRect | GetMinimalBoundingRectangle () | 
| wxString | GetShortFileName () | 
| wxString | GetFullFileName () | 
| virtual wxString | GetMetaDataAsHtml () | 
| virtual wxString | GetDataSizeAsHtml (int iPrecision=2) | 
| virtual wxArrayLong * | SearchData (const tmRealRect &rect, int type) | 
| virtual wxArrayLong * | GetAllData () | 
| virtual bool | GetSnapCoord (const wxRealPoint &clickpt, double buffersize, wxArrayRealPoints &snapppts, int snaptype) | 
| virtual bool | IsPointSnapped (const wxRealPoint &point, int snaptype, long excludeoid=wxNOT_FOUND) | 
| virtual bool | CreateSpatialIndex (GDALProgressFunc progress, void *pfProgressData) | 
| Static Public Member Functions | |
| static void | InitGISDriversVector () | 
| static wxString | GetAllVectorGISFormatsWildcards () | 
| static tmGISDataVector * | CreateGISVectorBasedOnType (const int &gis_format_index) | 
| static tmGISDataVector * | CreateGISVectorBasedOnExt (const wxString &extension) | 
| static OGRGeometry * | CreateOGRGeometry (const tmRealRect &rect) | 
| Create a OGR geometry. | |
|  Static Public Member Functions inherited from tmGISData | |
| static void | InitGISDrivers (bool bRaster=TRUE, bool bVector=TRUE) | 
| Init the GDAL / OGR driver. | |
| static wxString | GetAllSupportedGISFormatsWildcards () | 
| Return all supported formats. | |
| static wxArrayString | GetAllSupportedGISFormatsExtensions () | 
| Returning all extensions in an array string. | |
| static tmGISData * | CreateGISBasedOnType (const int &gis_format_index) | 
| Create an object of the specified format. | |
| static tmGISData * | CreateGISBasedOnExt (const wxString &extension) | 
| static tmGISData * | LoadLayer (tmLayerProperties *layerprop) | 
| Call this function for loading a layer. | |
| static void | EnableLogging (bool enable=true) | 
| static bool | IsLoggingEnabled () | 
| Protected Member Functions | |
| virtual wxString | GetTableName (TOC_GENERIC_NAME type) | 
| bool | CheckGEOSIntersection (GEOSGeom *rect, GEOSGeom *object) | 
| Compute real GEOS intersection (not bounding box) | |
| bool | CheckGEOSCrosses (GEOSGeom *g1, GEOSGeom *g2) | 
| Check for crossing (not bounding box) | |
| GEOSGeom | CreateGEOSGeometry (OGRGeometry *geom) | 
| Create a GEOS geometry. | |
| GEOSGeom | CreateGEOSGeometry (const tmRealRect &rect) | 
| Create a GEOS geometry. | |
| bool | GetVertexIntersection (OGRGeometry *geometry, OGRGeometry *buffer, wxArrayRealPoints &points) | 
| Search if a vertex intersect the passed geometry. | |
| bool | GetBeginEndInterseciton (OGRGeometry *geometry, OGRGeometry *buffer, wxArrayRealPoints &points) | 
| Search if a Begin/End vertex intersect the passed geometry. | |
|  Protected Member Functions inherited from tmGISData | |
| wxString | GetMinimalBoundingRectangleAsHtml (int iprecision=2) | 
| Get Minimal bounding rectangle as html. | |
| Static Protected Member Functions | |
| static OGRGeometry * | SafeCreateFromGEOS (GEOSGeom geom) | 
| Safe conversion function. | |
| static OGRGeometry * | SafeBuffer (OGRGeometry *ogrgeom, int size) | 
| static OGRGeometry * | SafeIntersection (OGRGeometry *geom1, OGRGeometry *geom2) | 
| Compute intersection. | |
| static OGRGeometry * | SafeUnion (OGRGeometry *union1, OGRGeometry *line) | 
| Compute Union. | |
| static OGRGeometry * | CreateOGRGeometry (const wxRealPoint &pt) | 
| Additional Inherited Members | |
|  Protected Attributes inherited from tmGISData | |
| int | m_ClassType | 
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL, and tmGISDataVectorSHP.
| 
 | protected | 
Check for crossing (not bounding box)
This function may be used for ensuring that a geometry really crosses another one
| g1 | GEOS geometry | 
| g2 | GEOS geometry | 
| 
 | protected | 
Compute real GEOS intersection (not bounding box)
This function may be used for ensuring that a geometry really intersects another one
| rect | GEOS geometry of intersecting rectangle | 
| object | GEOS geometry of object | 
| 
 | protected | 
Create a GEOS geometry.
This function may be used for creating a GEOS compatible geometry from an real rectangle
| rect | A tmRealRect object | 
| 
 | protected | 
Create a GEOS geometry.
This function may be used for creating a GEOS compatible geometry from an OGR object
| geom | A valid OGR geometry | 
| 
 | static | 
Create a OGR geometry.
| rect | object of type : tmRealRect | 
| bool tmGISDataVector::CutLineAtVertex | ( | long | oid, | 
| const wxRealPoint & | clickedpt, | ||
| int | searchRadius, | ||
| int | layertype ) | 
Cut line in two at specified point.
| oid | OID of the line to cut | 
| clickedpt | the coordinate of the clicked point (real) | 
| searchradius | Serching vertex in this radius | 
| layertype | Type of the layer. | 
| bool tmGISDataVector::CutLineGeometry | ( | OGRLineString * | line1, | 
| OGRLineString * | line2, | ||
| OGRMultiLineString & | res1, | ||
| OGRMultiLineString & | res2 ) | 
Cut two lines where they intesects.
| line1 | The first passed line for intersection | 
| line2 | The second line passed for intersection | 
| res1 | Resulting multi-lines for first passed lines | 
| res2 | Resulting multi-lines for second passed line | 
| bool tmGISDataVector::CutLineMultiple | ( | OGRLineString * | linetocut, | 
| OGRMultiLineString * | cutlines, | ||
| OGRMultiLineString & | results ) | 
Cut one line with multiple line.
| linetocut | The line to cut | 
| cutlines | Lines used for cutting | 
| results | all resulting lines | 
| 
 | protected | 
Search if a Begin/End vertex intersect the passed geometry.
This function is very close to the tmGISDataVector::GetVertexIntersection but search only for begin / end vertex. So it works only for lines
| geometry | A valid geometry (line ONLY) | 
| buffer | The buffer for intersection | 
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL, and tmGISDataVectorSHP.
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL.
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorSHP.
| wxString tmGISDataVector::GetFieldsMetadata | ( | ) | 
Formating fields info into html string.
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorSHP.
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL.
| 
 | inlinevirtual | 
Reimplemented from tmGISData.
Reimplemented in tmGISDataVectorMYSQL.
| 
 | protected | 
Search if a vertex intersect the passed geometry.
Check for all geometry (point, lines, polygon) if a vertex intersect the passed geometry. If true this vertex is returned
| geometry | A valid geometry (point, line, polygon) | 
| buffer | The buffer for intersection | 
| OGRLineString * tmGISDataVector::InsertVertex | ( | OGRGeometry * | pointbuffer, | 
| wxRealPoint | ptclicked, | ||
| OGRLineString * | line, | ||
| int & | inseredvertex ) | 
Insert a vertex in a passed line.
| pointbuffer | the buffer (polygon) intersecting the line | 
| ptclicked | the coordinate of the clicked point | 
| line | the line | 
| inseredvertex | return the number of the inserted vertex | 
| OGRLineString * tmGISDataVector::InsertVertexMultiple | ( | OGRLineString * | line, | 
| OGRMultiPoint * | vertex, | ||
| const wxArrayInt & | point_pos ) | 
Insert multiple vertex into line.
This function insert vertex at the right place into a line, based on where intersect the vertex to insert.
| line | the passed geometry | 
| vertex | an OGRMultiPoint structure containing all vertex to insert | 
| point_pos | index where the vertex are to be insered | 
| 
 | inlinevirtual | 
Reimplemented from tmGISData.
| bool tmGISDataVector::LinesMerge | ( | OGRMultiLineString * | linetomerge, | 
| OGRGeometry ** | linemerged ) | 
Merge lines.
| linetomerge | lines to merge | 
| linemerged | the resulting geometry if function return true. | 
| 
 | staticprotected | 
Safe conversion function.
| geosGeom | The GEOSGeom to convert | 
| 
 | staticprotected | 
Compute intersection.
This function try to bypass the Intersection() bug of GDAL by using GEOS directly
| geom1 | The geometry to intersect | 
| geom2 | the geometry intersecting | 
| 
 | staticprotected | 
Compute Union.
This function try to bypass the Union() bug of GDAL by using GEOS directly
| union1 | The multi-line string | 
| line | The line to intersect | 
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL.
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL.
| 
 | virtual | 
Save splitted geometry to file.
The first geometry is updated, others are added into database.
| gCol | the collection of geometries to update | 
| oid | the oid | 
| AddedIds | All IDs added. | 
| layertype | one of the TOC_GENERIC_NAME values | 
| 
 | inlinevirtual | 
Reimplemented in tmGISDataVectorMYSQL.