VisioDevKit-Sample  v2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Pages
VgMyBasicApplicationController Class Reference

Implements a basic logic to handle the map display & behaviour. More...

Inheritance diagram for VgMyBasicApplicationController:
Inheritance graph

Public Member Functions

 VgMyBasicApplicationController (VgApplication::VgIApplication &pApplication, VgMyTextureLoader *pTextureLoader)
 
virtual ~VgMyBasicApplicationController ()
 
bool loadConfiguration (const std::string &pConfiguration, const unsigned int pSecretKey, const std::string &pLicenseURL, const int pDataset=0)
 
void unloadConfiguration ()
 
void setLayerAndCameraHandler (VgMyLayerAndCameraHandler *pHandler)
 
void setRouteCreator (VgMyRouteCreator *pCreator)
 
VgMyRouteCreatorgetRouteCreator () const
 
void addRouteDisplay (VgMyRouteDisplay *pDisplay)
 
void setNavigationCreator (VgMyNavigationCreator *pCreator)
 
void addInstructionDisplay (VgMyInstructionDisplay *pDisplay)
 
void addNavigationListener (VgMyNavigationListener *pListener)
 Add navigation listener in order to receive navigation related notifications. More...
 
void removeNavigationListener (VgMyNavigationListener *pListener)
 Add navigation listener in order to receive navigation related notifications. More...
 
bool has3DModule () const
 
bool hasMapModule () const
 
bool hasRoutingModule () const
 
bool hasNavigationModule () const
 
void addLayerAndCameraListener (VgMyLayerAndCameraListener *pListener)
 
void deleteRoute ()
 
bool setRoutePoint (VgMyRouteCreator::RoutePoint pPoint, const std::string &pPlaceID)
 Implementation of interface : VgMyRouteCreator. More...
 
bool setRoutePoint (VgMyRouteCreator::RoutePoint pPoint, const VgEngine::VgPosition &pPosition)
 Sets a RoutePoint to a position within the map. More...
 
void resetRoutePoint (VgMyRouteCreator::RoutePoint pPoint)
 Resets the place ID associated with a point. More...
 
bool isRoutePointSet (VgMyRouteCreator::RoutePoint pPoint)
 
void computeRoute ()
 Computes a route. More...
 
VgRoutingModule::VgIRouteRequestParameters * editRoutingRequestParameters ()
 Returns a reference to the routing request parameters that computeRoute uses. More...
 
void resetRoutingRequestParameters ()
 Resets the routing request parameters to their initial state. More...
 
VgEngine::VgRefPtr
< VgEngine::VgAnimationDescriptor > 
getRoutePointHighlightAnimationDescriptor ()
 Returns the descriptor of an animation intended to emphasize routing points. More...
 
void setAvoidStairs (bool pDisabledFriendly)
 Sets up the routing request parameters to include/exclude non disabled-friendly attributes. More...
 
void setRouteWidth (float pWidth)
 Determines the width of the created route. More...
 
void setRouteMarkerHeight (float pHeight)
 Set route marker height. More...
 
void layerWillChangeFrom (VgMyLayerAndCameraHandler *pSender, const std::string &pFloorFrom, const std::string &pFloorTo)
 
void layerChangedTo (VgMyLayerAndCameraHandler *pSender, const std::string &pFloorFrom, const std::string &pFloorTo)
 
void viewWillChange (VgMyLayerAndCameraHandler *pSender, const bool pDoesChangeFromGlobalToDetailed)
 
void viewDidChange (VgMyLayerAndCameraHandler *pSender, const bool pDoesChangeFromGlobalToDetailed)
 
void goToInstruction (const unsigned int pInstructionIndex)
 
bool isGlobalView ()
 
void switchToGlobalView (bool pIsAnimated=true)
 
void switchToDetailedView (bool pIsAnimated=true)
 
const std::string & getFocusedLayerName ()
 
void gotoLayer (const std::string &pLayerName, bool pIsAnimated=true)
 
void gotoLayer (const unsigned int pLayerIndex, bool pIsAnimated=true)
 
unsigned int getNumberOfLayers ()
 
bool getLayerName (const unsigned int pLayerIndex, std::string &pLayerNameOut)
 
void gotoViewpoint (const VgEngine::VgIViewPoint &pViewPoint, const std::string &pLayerName, bool pIsAnimated=true)
 
void gotoLookAtPosition (const VgEngine::VgPosition &pPosition, const std::string &pLayerName, bool pIsAnimated=true)
 
void refreshParameters (unsigned int pWidth, unsigned int pHeight)
 
virtual void notifyRouteComputed (VgRoutingModule::VgRouteRequestStatus pStatus, VgEngine::VgRefPtr< VgRoutingModule::VgIRoute > const &pRoute)
 
virtual bool notifyNavigationComputed (VgNavigationModule::VgNavigationRequestStatus pStatus, VgEngine::VgRefPtr< VgNavigationModule::VgINavigation > const &pNavigation)
 
virtual void notifyPositionUpdated (VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &pNavigation, const VgEngine::VgPosition &pPosition, double pTime)
 
virtual void notifyNewInstruction (VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &pNavigation, unsigned int pIndex)
 
virtual void notifyPositionDidChange (const std::string &pProvider, const VgEngine::VgPosition &pPosition)
 
virtual void notifyFloorDidChange (const std::string &pProvider, const std::string &pFloor)
 
virtual void notifyAccuracyDidChange (const std::string &pProvider, double pAccuracy)
 
virtual void notifyContextDidChange (const std::string &pProvider, int pContext)
 
virtual void notifyHeadingDidChange (const std::string &pProvider, double pHeading)
 
virtual void notifyStatusDidChange (const std::string &pProvider, int pStatus)
 
virtual void notifyLocationProviderEnabled (const std::string &pProvider)
 
virtual void notifyLocationProviderDisabled (const std::string &pProvider)
 
VgEngine::VgRefPtr
< VgRoutingModule::VgIRouteCallback > 
getRouteCallback ()
 
void setRouteStyle (VgMyRouteStyler::RouteStyle pRouteStyle, bool pRecomputeRoute=true)
 Change the routing style of lines generated by the routing helper. More...
 
VgMyRouteStyler::RouteStyle getRouteStyle () const
 get the current route style More...
 

Protected Member Functions

void animateToInstruction (VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &pNavigation, unsigned int pIndex)
 

Protected Attributes

VgApplication::VgIApplication & mVgApplication
 
VgMyLayerAndCameraHandlermLayerAndCameraHandler
 
VgMyRouteCreatormRouteCreator
 
VgMyNavigationCreatormNavigationCreator
 
std::list
< VgMyLayerAndCameraListener * > 
mLayerAndCameraListeners
 
std::list< VgMyRouteDisplay * > mRouteDisplays
 
std::list
< VgMyInstructionDisplay * > 
mInstructionsDisplays
 
std::list
< VgMyNavigationListener * > 
mNavigationListeners
 
VgEngine::VgRefPtr
< VgRoutingModule::VgIRoute > 
mRoute
 Current Route of NULL if no route request succeed. More...
 
VgEngine::VgRefPtr
< VgNavigationModule::VgINavigation > 
mNavigation
 Current Navigation of NULL if no route request succeed. More...
 
unsigned int mMaximumInstructionNumber
 
VgMyTextureLoadermTextureLoader
 
VgEngine::VgRefPtr
< VgMyBasicRouteCallback
mRouteCallback
 
VgEngine::VgRefPtr
< VgMyBasicNavigationCallback
mNavigationCallback
 
VgEngine::VgRefPtr
< VgMyBasicNavigationListener
mNavigationListener
 
std::string mCurrentPhysicalFloor
 Used in conjuction with a position provider. More...
 
VgEngine::VgPosition mCurrentPhysicalPosition
 Current physical position. More...
 

Additional Inherited Members

- Public Types inherited from VgMyRouteCreator
enum  RoutePoint { eStart, eEnd }
 The points that a route may have. More...
 

Detailed Description

Implements a basic logic to handle the map display & behaviour.

This helper class eases the common operations onto maps. Customize it at will to fit your own application.

This controller inherits from main listeners to act as a dispatcher. All objects related to the map management should somehow be registred to this controller.

Constructor & Destructor Documentation

VgMyBasicApplicationController::VgMyBasicApplicationController ( VgApplication::VgIApplication &  pApplication,
VgMyTextureLoader pTextureLoader 
)
virtual VgMyBasicApplicationController::~VgMyBasicApplicationController ( )
virtual

Member Function Documentation

void VgMyBasicApplicationController::addInstructionDisplay ( VgMyInstructionDisplay pDisplay)
void VgMyBasicApplicationController::addLayerAndCameraListener ( VgMyLayerAndCameraListener pListener)
void VgMyBasicApplicationController::addNavigationListener ( VgMyNavigationListener pListener)

Add navigation listener in order to receive navigation related notifications.

Parameters
pListenerNavigation listener to receive
void VgMyBasicApplicationController::addRouteDisplay ( VgMyRouteDisplay pDisplay)
void VgMyBasicApplicationController::animateToInstruction ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
unsigned int  pIndex 
)
protected
void VgMyBasicApplicationController::computeRoute ( )
virtual

Computes a route.

Remarks
Works only if both end points are set.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::deleteRoute ( )
VgRoutingModule::VgIRouteRequestParameters* VgMyBasicApplicationController::editRoutingRequestParameters ( )
virtual

Returns a reference to the routing request parameters that computeRoute uses.

Returns
a reference to the routing request parameters to be used on the next computeRoute.

Implements VgMyRouteCreator.

const std::string& VgMyBasicApplicationController::getFocusedLayerName ( )
bool VgMyBasicApplicationController::getLayerName ( const unsigned int  pLayerIndex,
std::string &  pLayerNameOut 
)
unsigned int VgMyBasicApplicationController::getNumberOfLayers ( )
VgEngine::VgRefPtr< VgRoutingModule::VgIRouteCallback > VgMyBasicApplicationController::getRouteCallback ( )
inline

References mRouteCallback.

VgMyRouteCreator* VgMyBasicApplicationController::getRouteCreator ( ) const
VgEngine::VgRefPtr< VgEngine::VgAnimationDescriptor > VgMyBasicApplicationController::getRoutePointHighlightAnimationDescriptor ( )
virtual

Returns the descriptor of an animation intended to emphasize routing points.

Implements VgMyRouteCreator.

VgMyRouteStyler::RouteStyle VgMyBasicApplicationController::getRouteStyle ( ) const
virtual

get the current route style

Returns
current route style.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::goToInstruction ( const unsigned int  pInstructionIndex)
void VgMyBasicApplicationController::gotoLayer ( const std::string &  pLayerName,
bool  pIsAnimated = true 
)
void VgMyBasicApplicationController::gotoLayer ( const unsigned int  pLayerIndex,
bool  pIsAnimated = true 
)
void VgMyBasicApplicationController::gotoLookAtPosition ( const VgEngine::VgPosition &  pPosition,
const std::string &  pLayerName,
bool  pIsAnimated = true 
)
void VgMyBasicApplicationController::gotoViewpoint ( const VgEngine::VgIViewPoint &  pViewPoint,
const std::string &  pLayerName,
bool  pIsAnimated = true 
)
bool VgMyBasicApplicationController::has3DModule ( ) const
bool VgMyBasicApplicationController::hasMapModule ( ) const
bool VgMyBasicApplicationController::hasNavigationModule ( ) const
bool VgMyBasicApplicationController::hasRoutingModule ( ) const
bool VgMyBasicApplicationController::isGlobalView ( )
bool VgMyBasicApplicationController::isRoutePointSet ( VgMyRouteCreator::RoutePoint  pPoint)
virtual
Parameters
pPointRoutePoint to test.
Returns
True if the specified point is already set.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::layerChangedTo ( VgMyLayerAndCameraHandler pSender,
const std::string &  pFloorFrom,
const std::string &  pFloorTo 
)
void VgMyBasicApplicationController::layerWillChangeFrom ( VgMyLayerAndCameraHandler pSender,
const std::string &  pFloorFrom,
const std::string &  pFloorTo 
)
bool VgMyBasicApplicationController::loadConfiguration ( const std::string &  pConfiguration,
const unsigned int  pSecretKey,
const std::string &  pLicenseURL,
const int  pDataset = 0 
)
virtual void VgMyBasicApplicationController::notifyAccuracyDidChange ( const std::string &  pProvider,
double  pAccuracy 
)
virtual
virtual void VgMyBasicApplicationController::notifyContextDidChange ( const std::string &  pProvider,
int  pContext 
)
virtual
virtual void VgMyBasicApplicationController::notifyFloorDidChange ( const std::string &  pProvider,
const std::string &  pFloor 
)
virtual
virtual void VgMyBasicApplicationController::notifyHeadingDidChange ( const std::string &  pProvider,
double  pHeading 
)
virtual
virtual void VgMyBasicApplicationController::notifyLocationProviderDisabled ( const std::string &  pProvider)
virtual
virtual void VgMyBasicApplicationController::notifyLocationProviderEnabled ( const std::string &  pProvider)
virtual
virtual bool VgMyBasicApplicationController::notifyNavigationComputed ( VgNavigationModule::VgNavigationRequestStatus  pStatus,
VgEngine::VgRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation 
)
virtual
virtual void VgMyBasicApplicationController::notifyNewInstruction ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
unsigned int  pIndex 
)
virtual
virtual void VgMyBasicApplicationController::notifyPositionDidChange ( const std::string &  pProvider,
const VgEngine::VgPosition &  pPosition 
)
virtual
virtual void VgMyBasicApplicationController::notifyPositionUpdated ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
const VgEngine::VgPosition &  pPosition,
double  pTime 
)
virtual
virtual void VgMyBasicApplicationController::notifyRouteComputed ( VgRoutingModule::VgRouteRequestStatus  pStatus,
VgEngine::VgRefPtr< VgRoutingModule::VgIRoute > const &  pRoute 
)
virtual
virtual void VgMyBasicApplicationController::notifyStatusDidChange ( const std::string &  pProvider,
int  pStatus 
)
virtual
void VgMyBasicApplicationController::refreshParameters ( unsigned int  pWidth,
unsigned int  pHeight 
)
void VgMyBasicApplicationController::removeNavigationListener ( VgMyNavigationListener pListener)

Add navigation listener in order to receive navigation related notifications.

Parameters
pListenerNavigation listener to receive
void VgMyBasicApplicationController::resetRoutePoint ( VgMyRouteCreator::RoutePoint  pPoint)
virtual

Resets the place ID associated with a point.

Parameters
pPointRoutePoint to reset.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::resetRoutingRequestParameters ( )
virtual

Resets the routing request parameters to their initial state.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::setAvoidStairs ( bool  pDisabledFriendly)
virtual

Sets up the routing request parameters to include/exclude non disabled-friendly attributes.

Parameters
pDisabledFriendlyTrue if disabled friendly routing is wanted, false if not

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::setLayerAndCameraHandler ( VgMyLayerAndCameraHandler pHandler)
void VgMyBasicApplicationController::setNavigationCreator ( VgMyNavigationCreator pCreator)
void VgMyBasicApplicationController::setRouteCreator ( VgMyRouteCreator pCreator)
void VgMyBasicApplicationController::setRouteMarkerHeight ( float  pHeight)
virtual

Set route marker height.

Adjust so that the marker appears to be anchored to the top of desired surface.

Parameters
pHeightThe height of the route markers in meters.

Implements VgMyRouteCreator.

bool VgMyBasicApplicationController::setRoutePoint ( VgMyRouteCreator::RoutePoint  pPoint,
const std::string &  pPlaceID 
)
virtual

Implementation of interface : VgMyRouteCreator.

Implements VgMyRouteCreator.

bool VgMyBasicApplicationController::setRoutePoint ( VgMyRouteCreator::RoutePoint  pPoint,
const VgEngine::VgPosition &  pPosition 
)
virtual

Sets a RoutePoint to a position within the map.

Finds the closest routing node from the routing network to the given position.

  • pPosition.getMZOrAltitude() is used to determine what layer the position is associated to.
  • Use the method VgMapModule::VgIMapModule::getHeightRangeForLayer() to find the appropriate altitude value for pPosition. For example:
    ...
    double lFloorHeight = 0.0;
    float pHeightMax;
    float pHeightMin;
    std::sring lLayerName = "0";
    if ( mMapModule->getHeightRangeForLayer(pLayer, pHeightMax, pHeightMin))
    {
    lFloorHeight = ((pHeightMax + pHeightMin) / 2);
    }
    lPosition.mZOrAltitude = lFloorHeight;
    ...
    Parameters
    pPointRoutePoint to set
    pPositionPosition to associates with pPoint.
    Returns
    False if the pPosition is not routable.

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::setRouteStyle ( VgMyRouteStyler::RouteStyle  pRouteStyle,
bool  pRecomputeRoute = true 
)
virtual

Change the routing style of lines generated by the routing helper.

Parameters
pRouteStyleroute style
pRecomputeRoute

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::setRouteWidth ( float  pWidth)
virtual

Determines the width of the created route.

Parameters
pWidthThe width of the route in meters

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::switchToDetailedView ( bool  pIsAnimated = true)
void VgMyBasicApplicationController::switchToGlobalView ( bool  pIsAnimated = true)
void VgMyBasicApplicationController::unloadConfiguration ( )
void VgMyBasicApplicationController::viewDidChange ( VgMyLayerAndCameraHandler pSender,
const bool  pDoesChangeFromGlobalToDetailed 
)
void VgMyBasicApplicationController::viewWillChange ( VgMyLayerAndCameraHandler pSender,
const bool  pDoesChangeFromGlobalToDetailed 
)

Member Data Documentation

std::string VgMyBasicApplicationController::mCurrentPhysicalFloor
protected

Used in conjuction with a position provider.

Records the last received floor change notification.

VgEngine::VgPosition VgMyBasicApplicationController::mCurrentPhysicalPosition
protected

Current physical position.

Note the altitude is relative to the ground, and not the current floor. So from this position it's possible to determine the floor.

std::list<VgMyInstructionDisplay*> VgMyBasicApplicationController::mInstructionsDisplays
protected
VgMyLayerAndCameraHandler* VgMyBasicApplicationController::mLayerAndCameraHandler
protected
std::list<VgMyLayerAndCameraListener*> VgMyBasicApplicationController::mLayerAndCameraListeners
protected
unsigned int VgMyBasicApplicationController::mMaximumInstructionNumber
protected
VgEngine::VgRefPtr< VgNavigationModule::VgINavigation > VgMyBasicApplicationController::mNavigation
protected

Current Navigation of NULL if no route request succeed.

Remarks
Only this controller delete this object
VgEngine::VgRefPtr< VgMyBasicNavigationCallback > VgMyBasicApplicationController::mNavigationCallback
protected
VgMyNavigationCreator* VgMyBasicApplicationController::mNavigationCreator
protected
VgEngine::VgRefPtr< VgMyBasicNavigationListener > VgMyBasicApplicationController::mNavigationListener
protected
std::list<VgMyNavigationListener*> VgMyBasicApplicationController::mNavigationListeners
protected
VgEngine::VgRefPtr< VgRoutingModule::VgIRoute > VgMyBasicApplicationController::mRoute
protected

Current Route of NULL if no route request succeed.

Remarks
Only this controller delete this object
VgEngine::VgRefPtr< VgMyBasicRouteCallback > VgMyBasicApplicationController::mRouteCallback
protected

Referenced by getRouteCallback().

VgMyRouteCreator* VgMyBasicApplicationController::mRouteCreator
protected
std::list<VgMyRouteDisplay*> VgMyBasicApplicationController::mRouteDisplays
protected
VgMyTextureLoader* VgMyBasicApplicationController::mTextureLoader
protected
VgApplication::VgIApplication& VgMyBasicApplicationController::mVgApplication
protected

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