Views
Maps Package API Reference Guide
Product Documentation:
Views Documentation Home
List of all members | Public Member Functions | Protected Member Functions
IlvDefaultSDOTileLoader Class Reference

This tile loader loads a complete SDO layer with tiles that are equivalent to the SDO tiles. More...

#include <ilviews/maps/format/oracle/sdotileload.h>

Inheritance diagram for IlvDefaultSDOTileLoader:
IlvSDOTileLoader IlvTileLoader

Public Member Functions

 IlvDefaultSDOTileLoader (const IlvMapAdapter *mapadapter, IldDbms *dbms, const char *layerName)
 Initializes a new instance of IlvDefaultSDOTileLoader, which loads tiles from the specified layer of an SDO database. More...
 
virtual IlvMapsError dbmsRestored ()
 Called by the IlvSDOLayer read from an .ilv file, after the connection to an Oracle SDO database has been restored. More...
 
const char * getLayerName ()
 Returns the name of the SDO layer of this tile loader.
 
virtual IldRequest * getRequest (IlvTile *tile)
 Returns an IldRequest containing all the geometries that intersect the tile. More...
 
const char * getSDOCode (IlvTile *tile)
 Returns the SDO code associated with the tile. More...
 
virtual IlvRectgetSize ()
 Returns the bounding box of the data set managed by the tile loader. More...
 
IlUShort getTileGroupingCount () const
 Returns the number of tiles to be loaded in one unique request. More...
 
const IlvRectgetTileOrigin () const
 Returns the bounding box of the upper-left SDO tile.
 
virtual IlvMapsError load (IlvTile *tile)
 Loads a tile from the Oracle database and adds the graphic objects to the layer of the tile. More...
 
void setTileGroupingCount (IlUShort nb)
 Sets the number of tiles to be loaded in one unique request. More...
 
- Public Member Functions inherited from IlvSDOTileLoader
IldDbms * getDbms () const
 Returns the IldDbms representing the connection to the Oracle database. More...
 
IlvMapsError getInitStatus () const
 Returns the error code that may have happened during the loader construction. More...
 
virtual IlBoolean isPersistent () const
 Indicates whether this IlvSDOTileLoader is persistent. More...
 
virtual void release (IlvTile *tile)
 Releases the content of a tile when required by the cache of the layer. More...
 
- Public Member Functions inherited from IlvTileLoader
virtual void controllerDeleted (IlvTileController *controller)
 Called when the controller is deleted. More...
 
virtual void tileDeleted (IlvTile *tile)
 Called when a tile is deleted during the controller destruction. More...
 

Protected Member Functions

IlvSDOFeatureIteratorgetFeatureIterator (IldRequest *request, IlvMapsError &status)
 Returns the instance of IlvSDOFeatureIterator that is used by the tile loader. More...
 
- Protected Member Functions inherited from IlvSDOTileLoader
 IlvSDOTileLoader (IldDbms *dbms)
 Initializes a new instance of IlvSDOTileLoader. More...
 
IldRequest * executeQuery (const char *query)
 Executes the specified query and exports a trace if the SQL traces are enabled. More...
 

Detailed Description

This tile loader loads a complete SDO layer with tiles that are equivalent to the SDO tiles.

Library: ilvdbmaps

This tile loader is optimized for speed performance thanks to the tile grouping capacity that can be used through the setTileGroupingCount() method.

See also
IlvSDOLayer.

Constructor & Destructor Documentation

◆ IlvDefaultSDOTileLoader()

IlvDefaultSDOTileLoader::IlvDefaultSDOTileLoader ( const IlvMapAdapter mapadapter,
IldDbms *  dbms,
const char *  layerName 
)

Initializes a new instance of IlvDefaultSDOTileLoader, which loads tiles from the specified layer of an SDO database.

Parameters
mapadapterThe map adapter of the tile loader.
dbmsThe database connection.
layerNameThe name of the layer.

Member Function Documentation

◆ dbmsRestored()

virtual IlvMapsError IlvDefaultSDOTileLoader::dbmsRestored ( )
virtual

Called by the IlvSDOLayer read from an .ilv file, after the connection to an Oracle SDO database has been restored.

Returns
An IlvMapsError code.

Reimplemented from IlvSDOTileLoader.

◆ getFeatureIterator()

IlvSDOFeatureIterator* IlvDefaultSDOTileLoader::getFeatureIterator ( IldRequest *  request,
IlvMapsError &  status 
)
protected

Returns the instance of IlvSDOFeatureIterator that is used by the tile loader.

You can override this method in order to use your own feature iterator.

Parameters
requestThe request from which geometries are read.
statusThe error that may have been produced by the method.
Returns
The IlvSDOFeatureIterator used by the tile loader.

◆ getRequest()

virtual IldRequest* IlvDefaultSDOTileLoader::getRequest ( IlvTile tile)
virtual

Returns an IldRequest containing all the geometries that intersect the tile.

This method is called by the load(IlvTile) method to define the list of geometries that have to be loaded in a tile. The implementation of this class returns all the geometries that have the same SDO_CODE as the specified tile.

Parameters
tileThe tile.
See also
getSDOCode().

Reimplemented from IlvSDOTileLoader.

◆ getSDOCode()

const char* IlvDefaultSDOTileLoader::getSDOCode ( IlvTile tile)

Returns the SDO code associated with the tile.

Parameters
tileThe tile for the load-on-demand mechanism.
Returns
The SDO code associated with the tile.

◆ getSize()

virtual IlvRect* IlvDefaultSDOTileLoader::getSize ( )
virtual

Returns the bounding box of the data set managed by the tile loader.

If the bounding box cannot be computed, this method can return 0. The IlvSDOLayer using this object will have an undefined size.

The default implementation returns 0.

Returns
The bounding box of the data set managed by the tile loader.

Reimplemented from IlvSDOTileLoader.

◆ getTileGroupingCount()

IlUShort IlvDefaultSDOTileLoader::getTileGroupingCount ( ) const

Returns the number of tiles to be loaded in one unique request.

See also
setTileGroupingCount().

◆ load()

virtual IlvMapsError IlvDefaultSDOTileLoader::load ( IlvTile tile)
virtual

Loads a tile from the Oracle database and adds the graphic objects to the layer of the tile.

This method calls getRequest() to get the SDO geometries, transforms them into graphic objects using the renderer of the layer, and then adds the objects to the layer.

Parameters
tileThe tile to be loaded.
See also
getRequest().

Reimplemented from IlvSDOTileLoader.

◆ setTileGroupingCount()

void IlvDefaultSDOTileLoader::setTileGroupingCount ( IlUShort  nb)

Sets the number of tiles to be loaded in one unique request.

This is particularly useful for the load on demand where you can group a given number of tiles to be loaded together (when for instance the zoom factor is important so that you are visualizing a certain number of tiles at the same time).