VisioDevKit  v2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Friends Pages
VgRoutingModule::VgIRoutingSolver Interface Referenceabstract

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

Public Member Functions

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

Protected Member Functions

 VgIRoutingSolver ()
 Constructor. More...
 

Detailed Description

VgIRoutingSolver will calculate a route between several waypoints.

Date
25/02/2011

Constructor & Destructor Documentation

VgRoutingModule::VgIRoutingSolver::VgIRoutingSolver ( )
inlineprotected

Constructor.

virtual VgRoutingModule::VgIRoutingSolver::~VgIRoutingSolver ( )
inlinevirtual

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 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.
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.

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