Public Member Functions | Protected Member Functions

VgRoutingModule::VgIRoutingSolver Interface Reference

VgIRoutingSolver will calculate a route between several waypoints. More...

List of all members.

Public Member Functions

virtual ~VgIRoutingSolver ()
 Destructor.
virtual VgIRouteRequestcomputeRoute (VgIRouteRequestParameters *pParameters)=0
 Computes a route given some parameters.
virtual VgEngine::VgRefPtr
< VgRoutingModule::VgIRoutingNode
getRoutingNode (const VgEngine::VgPosition &pPosition) const =0
 Gets the closest node to a given position.
virtual VgEngine::VgRefPtr
< VgRoutingModule::VgIRoutingNode
getRoutingNode (const std::string &pPoiID) const =0
 Gets the virtual node associated with a given poi.

Protected Member Functions

 VgIRoutingSolver ()
 Constructor.

Detailed Description

VgIRoutingSolver will calculate a route between several waypoints.

Date:
25/02/2011

Constructor & Destructor Documentation

VgRoutingModule::VgIRoutingSolver::VgIRoutingSolver (  ) [inline, protected]

Constructor.

virtual VgRoutingModule::VgIRoutingSolver::~VgIRoutingSolver (  ) [inline, virtual]

Destructor.


Member Function Documentation

virtual VgIRouteRequest* VgRoutingModule::VgIRoutingSolver::computeRoute ( VgIRouteRequestParameters pParameters ) [pure virtual]

Computes a route given some parameters.

Remarks:
The caller is responsible for deallocating VgRoutingModule::VgIRouteRequest
Parameters:
pParametersParameters to determine the route to be computed. A notify function will be called on callback within pParameters once the route has been computed.
Returns:
VgRoutingModule::VgIRouteRequest, NULL if request is handled synchronously.
Note:
Currently, all requests are handled synchronously.
virtual VgEngine::VgRefPtr< VgRoutingModule::VgIRoutingNode > VgRoutingModule::VgIRoutingSolver::getRoutingNode ( const std::string &  pPoiID ) const [pure virtual]

Gets the virtual node associated with a given poi.

Note: A poi may have several access nodes. The poi's virtual node represents all these access nodes when a route is requested. However the computed route will use only one of the access nodes and never the virtual node.

Parameters:
pPoiIDA const reference on a string containing the poi's ID.
Returns:
A valid VgIRoutingNode pointer, or NULL if no node was found.
virtual VgEngine::VgRefPtr< VgRoutingModule::VgIRoutingNode > VgRoutingModule::VgIRoutingSolver::getRoutingNode ( const VgEngine::VgPosition pPosition ) const [pure virtual]

Gets the closest node to a given position.

Note the altitude/height of the position is used to determine the layer of the returned routing node.

Example:

         ...
         // Need to update the lat/long for lMyPos.
         VgEngine::VgPosition lMyPos;
         
         std::string lLayerName = "0";  // For example
         float lHeightMax;
         float lHeightMin;
         float lFloorHeight = 0.0;
         if ( lMapModule->getHeightRangeForLayer(lLayerName, lHeightMax, lHeightMin) )
         {
            lFloorHeight = ((lHeightMax + lHeightMin) / 2);
         }
         
         // IMPORTANT:
         // Set the floor height before requesting the routing node
         lMyPos.mZOrAltitude = lFloorHeight;
         
         lRoutingModule->getRoutingSolver()->getRoutingNode(lMyPos);
         ...
Parameters:
pPositionA const reference on the position.
Returns:
A valid opaque pointer on a VgRoutingNode, or NULL if no node was found.

The documentation for this interface was generated from the following file:
VisioDevKit 2.0, Visioglobe® 2013