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 addNavigationPositionDisplay (VgMyNavigationPositionDisplay *pDisplay)
 
void addInstructionDisplay (VgMyInstructionDisplay *pDisplay)
 
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)
 Sets a RoutePoint to a specific place. 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...
 
virtual VgEngine::VgRefPtr
< VgEngine::VgAnimationDescriptor > 
getRoutePointHighlightAnimationDescriptor ()
 Returns the descriptor of an animation intended to emphasize routing points. More...
 
virtual void setAvoidStairs (bool pDisabledFriendly)
 Sets up the routing request parameters to include/exclude non disabled-friendly attributes. 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)
 
void notifyRouteComputed (VgRoutingModule::VgRouteRequestStatus pStatus, VgEngine::VgRefPtr< VgRoutingModule::VgIRoute > const &pRoute)
 
bool notifyNavigationComputed (VgNavigationModule::VgNavigationRequestStatus pStatus, VgEngine::VgRefPtr< VgNavigationModule::VgINavigation > const &pNavigation)
 
void notifyPositionUpdated (VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &pNavigation, const VgEngine::VgPosition &pPosition, double pTime)
 
void notifyNewInstruction (VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &pNavigation, unsigned int pIndex)
 
void updatePosition (const VgEngine::VgPosition &pPosition)
 
void clearNavigationPositionDisplays ()
 
VgEngine::VgRefPtr
< VgRoutingModule::VgIRouteCallback > 
getRouteCallback ()
 
virtual void setRouteStyle (VgMyRouteStyler::RouteStyle pRouteStyle, bool pRecomputeRoute=true)
 
VgMyRouteStyler::RouteStyle getRouteStyle () const
 

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
< VgMyNavigationPositionDisplay * > 
mPositionDisplays
 
std::list
< VgMyInstructionDisplay * > 
mInstructionsDisplays
 
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
 

Additional Inherited Members

- Public Types inherited from VgMyRouteCreator
enum  RoutePoint { eStart, eEnd }
 

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::addNavigationPositionDisplay ( VgMyNavigationPositionDisplay pDisplay)
void VgMyBasicApplicationController::addRouteDisplay ( VgMyRouteDisplay pDisplay)
void VgMyBasicApplicationController::animateToInstruction ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
unsigned int  pIndex 
)
protected
void VgMyBasicApplicationController::clearNavigationPositionDisplays ( )
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
virtual 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

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 
)
bool VgMyBasicApplicationController::notifyNavigationComputed ( VgNavigationModule::VgNavigationRequestStatus  pStatus,
VgEngine::VgRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation 
)
void VgMyBasicApplicationController::notifyNewInstruction ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
unsigned int  pIndex 
)
void VgMyBasicApplicationController::notifyPositionUpdated ( VgEngine::VgConstRefPtr< VgNavigationModule::VgINavigation > const &  pNavigation,
const VgEngine::VgPosition &  pPosition,
double  pTime 
)
void VgMyBasicApplicationController::notifyRouteComputed ( VgRoutingModule::VgRouteRequestStatus  pStatus,
VgEngine::VgRefPtr< VgRoutingModule::VgIRoute > const &  pRoute 
)
void VgMyBasicApplicationController::refreshParameters ( unsigned int  pWidth,
unsigned int  pHeight 
)
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.

virtual 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)
bool VgMyBasicApplicationController::setRoutePoint ( VgMyRouteCreator::RoutePoint  pPoint,
const std::string &  pPlaceID 
)
virtual

Sets a RoutePoint to a specific place.

Parameters
pPointRoutePoint to set
pPlaceIDPlace to associates with pPoint.
Returns
False if the specified placeID is not routable.

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.

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

Implements VgMyRouteCreator.

void VgMyBasicApplicationController::switchToDetailedView ( bool  pIsAnimated = true)
void VgMyBasicApplicationController::switchToGlobalView ( bool  pIsAnimated = true)
void VgMyBasicApplicationController::unloadConfiguration ( )
void VgMyBasicApplicationController::updatePosition ( const VgEngine::VgPosition &  pPosition)
void VgMyBasicApplicationController::viewDidChange ( VgMyLayerAndCameraHandler pSender,
const bool  pDoesChangeFromGlobalToDetailed 
)
void VgMyBasicApplicationController::viewWillChange ( VgMyLayerAndCameraHandler pSender,
const bool  pDoesChangeFromGlobalToDetailed 
)

Member Data Documentation

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<VgMyNavigationPositionDisplay*> VgMyBasicApplicationController::mPositionDisplays
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