LuciadCPillar 2023.1.04
luciad::MapNavigator::FitAction Class Referencefinal

Class that allows to build a fit action and apply it, either directly or using an animation. More...

#include <luciad/maps/MapNavigator.h>

Public Member Functions

 ~FitAction ()
 
FitActionanimate (bool animated)
 Specifies if the action should use an animation. More...
 
FitActionbounds (Bounds bounds)
 Sets the bounds to fit on. More...
 
FitActionduration (std::chrono::milliseconds duration)
 Specifies the duration of the animation. More...
 
void fit () const
 Applies the fit action. More...
 
FitActionfitMarginPercent (double fitMarginPercent)
 The fit margin is the margin between the bounds to fit on and the edge of the visible map. More...
 

Detailed Description

Class that allows to build a fit action and apply it, either directly or using an animation.

Fitting works by:

  • defining bounds to fit to
  • optionally defining a fit margin

Example: Execute a fit action

map->getMapNavigator().newFitAction().bounds(bounds).fitMarginPercent(5).fit();
FitAction & bounds(Bounds bounds)
Sets the bounds to fit on.

Constructor & Destructor Documentation

◆ ~FitAction()

luciad::MapNavigator::FitAction::~FitAction ( )

Member Function Documentation

◆ animate()

FitAction & luciad::MapNavigator::FitAction::animate ( bool  animated)

Specifies if the action should use an animation.

Parameters
animatedif this action should use an animation. The default is false.
Returns
this

◆ bounds()

FitAction & luciad::MapNavigator::FitAction::bounds ( Bounds  bounds)

Sets the bounds to fit on.

These bounds can be defined in any reference

This parameter is mandatory. Not setting it will cause FitAction::fit to throw an exception.

Parameters
boundsthe bounds to fit on
Returns
this

◆ duration()

FitAction & luciad::MapNavigator::FitAction::duration ( std::chrono::milliseconds  duration)

Specifies the duration of the animation.

This parameter is only used if animate(bool) is called with true as argument.

Parameters
durationthe duration of the animation in milliseconds. The default is 2000 (=2 seconds)
Returns
this

◆ fit()

void luciad::MapNavigator::FitAction::fit ( ) const

Applies the fit action.

Exceptions
luciad::LogicExceptionif the action is not built correctly, for example if mandatory parameters are missing, or if incompatible parameters are configured.

◆ fitMarginPercent()

FitAction & luciad::MapNavigator::FitAction::fitMarginPercent ( double  fitMarginPercent)

The fit margin is the margin between the bounds to fit on and the edge of the visible map.

A fit margin of "5%" will add a margin of 5% of the map's screen dimensions on each side of the bounds, the center remains unchanged.

This parameter is optional. The default fit margin is 2%.

Parameters
fitMarginPercenta fit margin, expressed as a percentage.
Returns
this
Exceptions
luciad::InvalidArgumentExceptionwhen a fit margin >= 50% is specified, or a value <= 0.