Maps SDK for C++ 1.0.0
Loading...
Searching...
No Matches
gem::FollowPositionPreferencesV2 Class Reference

Follow position preferences. More...

Inheritance diagram for gem::FollowPositionPreferencesV2:
Collaboration diagram for gem::FollowPositionPreferencesV2:

Public Member Functions

FollowPositionPreferencessetTimeBeforeTurnPresentation (int val) noexcept
 Set the time interval before starting a turn presentation.
int getTimeBeforeTurnPresentation () const noexcept
 Get the time interval before starting a turn presentation.
int setCameraFocus (XyF const &pos) noexcept
 Set the follow position camera focus in viewport coordinates ( between 0.f = left / top and 1.f = right / bottom ).
XyF getCameraFocus () const noexcept
 Get the follow position camera focus in viewport coordinates ( between 0.f = left / top and 1.f = right / bottom ).
FollowPositionPreferencessetTouchHandlerModifyPersistent (bool persistent) noexcept
 Set manually adjusted follow position changes ( via touch handler ) persistent from one follow position session to another.
bool getTouchHandlerModifyPersistent () const noexcept
 Test if manually adjusted follow position changes ( via touch handler ) are persistent.
FollowPositionPreferencessetTouchHandlerExitAllow (bool allowExit) noexcept
 Set whether to allow manually exiting follow position via touch handler events.
bool getTouchHandlerExitAllow () const noexcept
 Test if manually exiting follow position via touch handler events is enabled.
FollowPositionPreferencessetTouchHandlerModifyHorizontalAngleLimits (const std::pair< double, double > &horizAngleLimits) noexcept
 Set touch handler horizontal angle adjust limits.
std::pair< double, double > getTouchHandlerModifyHorizontalAngleLimits () const noexcept
 Get touch handler horizontal angle adjust limits.
FollowPositionPreferencessetTouchHandlerModifyVerticalAngleLimits (const std::pair< double, double > &vertAngleLimits) noexcept
 Set touch handler vertical angle adjust limits.
std::pair< double, double > getTouchHandlerModifyVerticalAngleLimits () const noexcept
 Get touch handler horizontal angle adjust limits.
FollowPositionPreferencessetTouchHandlerModifyDistanceLimits (const std::pair< double, double > &distanceLimits) noexcept
 Set touch handler distance to object adjust limits.
std::pair< double, double > getTouchHandlerModifyDistanceLimits () const noexcept
 Get touch handler distance to object adjust limits.
FollowPositionPreferencessetPerspective (EMapViewPerspective perspective, Animation animation=Animation()) noexcept
 Set the map view perspective in follow position mode.
EMapViewPerspective getPerspective () const noexcept
 Get the map view perspective in follow position mode.
FollowPositionPreferencessetViewAngle (double value, bool animated=false) noexcept
 Set vertical angle in follow position mode.
double getViewAngle () const noexcept
 Get the vertical angle.
int setZoomLevel (int zoomLevel, int duration=0) noexcept
 Set a zoom level in follow position mode.
int getZoomLevel () const noexcept
 Get zoom level in follow position mode.
void setMapRotationMode (EFollowPositionMapRotationMode mode, double angle=0., bool objectFollowMap=true) noexcept
 Set map rotation mode in follow position.
std::pair< EFollowPositionMapRotationMode, double > getMapRotationMode () const noexcept
 Get map rotation mode in follow position.
bool isTrackObjectFollowingMapRotation () const noexcept
 Check if position tracking object rotation follows map rotation.
int setAccuracyCircleVisibility (bool visible) noexcept
 Set accuracy circle visibility.
bool isAccuracyCircleVisible () const noexcept
 Check if accuracy circle is visible.

Detailed Description

Follow position preferences.

Member Function Documentation

◆ getCameraFocus()

XyF gem::FollowPositionPreferences::getCameraFocus ( ) const
inlinenoexceptinherited

Get the follow position camera focus in viewport coordinates ( between 0.f = left / top and 1.f = right / bottom ).

Returns
The camera focus position

◆ getMapRotationMode()

std::pair< EFollowPositionMapRotationMode, double > gem::FollowPositionPreferences::getMapRotationMode ( ) const
inlinenoexceptinherited

Get map rotation mode in follow position.

Returns
pair<EFollowPositionMapRotationMode, fixed angle>

◆ getPerspective()

EMapViewPerspective gem::FollowPositionPreferences::getPerspective ( ) const
inlinenoexceptinherited

Get the map view perspective in follow position mode.

Returns
The map perspective

◆ getTimeBeforeTurnPresentation()

int gem::FollowPositionPreferences::getTimeBeforeTurnPresentation ( ) const
inlinenoexceptinherited

Get the time interval before starting a turn presentation.

Returns
The time interval in seconds

◆ getTouchHandlerExitAllow()

bool gem::FollowPositionPreferences::getTouchHandlerExitAllow ( ) const
inlinenoexceptinherited

Test if manually exiting follow position via touch handler events is enabled.

Default returns true

Returns
True if exiting follow position is allowed

◆ getTouchHandlerModifyDistanceLimits()

std::pair< double, double > gem::FollowPositionPreferences::getTouchHandlerModifyDistanceLimits ( ) const
inlinenoexceptinherited

Get touch handler distance to object adjust limits.

Default returns { 50, std::numeric_limits<double>::max() }, meaning no limits in max distance to tracked object

Returns
The distance adjust limits

◆ getTouchHandlerModifyHorizontalAngleLimits()

std::pair< double, double > gem::FollowPositionPreferences::getTouchHandlerModifyHorizontalAngleLimits ( ) const
inlinenoexceptinherited

Get touch handler horizontal angle adjust limits.

Empty { 0., 0. } means value adjustment is forbidden

Default returns { 0., 0. }, meaning adjustment is forbidden

Returns
The horizontal angle adjust limits

◆ getTouchHandlerModifyPersistent()

bool gem::FollowPositionPreferences::getTouchHandlerModifyPersistent ( ) const
inlinenoexceptinherited

Test if manually adjusted follow position changes ( via touch handler ) are persistent.

Returns
True if changes are persistent

◆ getTouchHandlerModifyVerticalAngleLimits()

std::pair< double, double > gem::FollowPositionPreferences::getTouchHandlerModifyVerticalAngleLimits ( ) const
inlinenoexceptinherited

Get touch handler horizontal angle adjust limits.

Empty { 0., 0. } means value adjustment is forbidden

Default returns { 0., 70. }

Returns
The vertical angle adjust limits

◆ getViewAngle()

double gem::FollowPositionPreferences::getViewAngle ( ) const
inlinenoexceptinherited

Get the vertical angle.

Returns
The view angle

◆ getZoomLevel()

int gem::FollowPositionPreferences::getZoomLevel ( ) const
inlinenoexceptinherited

Get zoom level in follow position mode.

Returns
The current zoom level

-1 means auto-zooming is enabled

◆ isAccuracyCircleVisible()

bool gem::FollowPositionPreferences::isAccuracyCircleVisible ( ) const
inlinenoexceptinherited

Check if accuracy circle is visible.

Returns
True if the accuracy circle is visible

◆ isTrackObjectFollowingMapRotation()

bool gem::FollowPositionPreferences::isTrackObjectFollowingMapRotation ( ) const
inlinenoexceptinherited

Check if position tracking object rotation follows map rotation.

Returns
True if the position tracking object rotation follows map rotation

◆ setAccuracyCircleVisibility()

int gem::FollowPositionPreferences::setAccuracyCircleVisibility ( bool visible)
inlinenoexceptinherited

Set accuracy circle visibility.

Parameters
[in]visibleTrue to show the accuracy circle
Returns
KNoError Success

◆ setCameraFocus()

int gem::FollowPositionPreferences::setCameraFocus ( XyF const & pos)
inlinenoexceptinherited

Set the follow position camera focus in viewport coordinates ( between 0.f = left / top and 1.f = right / bottom ).

Parameters
[in]posThe camera focus position
Returns
KNoError Success

◆ setMapRotationMode()

void gem::FollowPositionPreferences::setMapRotationMode ( EFollowPositionMapRotationMode mode,
double angle = 0.,
bool objectFollowMap = true )
inlinenoexceptinherited

Set map rotation mode in follow position.

Parameters
[in]modeMap rotation mode
[in]angleThe fixed rotation angle for EFollowPositionMapRotationMode::FPMRM_Fixed
[in]objectFollowMapThe position tracker object orientation will follow map view rotation

If the position tracker object orientation will follow map view rotation, all views using the same tracking object will see the object update

◆ setPerspective()

FollowPositionPreferences & gem::FollowPositionPreferences::setPerspective ( EMapViewPerspective perspective,
Animation animation = Animation() )
inlinenoexceptinherited

Set the map view perspective in follow position mode.

Parameters
[in]perspectiveThe map perspective.
[in]animationThe operation animation type. Default is none
Returns
FollowPositionPreferences reference

◆ setTimeBeforeTurnPresentation()

FollowPositionPreferences & gem::FollowPositionPreferences::setTimeBeforeTurnPresentation ( int val)
inlinenoexceptinherited

Set the time interval before starting a turn presentation.

Parameters
[in]valThe time interval in seconds. -1 means using SDK default value
Returns
FollowPositionPreferences reference

◆ setTouchHandlerExitAllow()

FollowPositionPreferences & gem::FollowPositionPreferences::setTouchHandlerExitAllow ( bool allowExit)
inlinenoexceptinherited

Set whether to allow manually exiting follow position via touch handler events.

Default value is true

Parameters
[in]allowExitTrue to allow exiting follow position
Returns
FollowPositionPreferences reference

◆ setTouchHandlerModifyDistanceLimits()

FollowPositionPreferences & gem::FollowPositionPreferences::setTouchHandlerModifyDistanceLimits ( const std::pair< double, double > & distanceLimits)
inlinenoexceptinherited

Set touch handler distance to object adjust limits.

Parameters
[in]distanceLimitsValues must be in { 0, std::numeric_limits<double>::max() } range

Empty { 0., 0. } interval can be provided to forbid manually adjusting distance to object. Default values are { 50, std::numeric_limits<double>::max() }

Returns
FollowPositionPreferences reference

◆ setTouchHandlerModifyHorizontalAngleLimits()

FollowPositionPreferences & gem::FollowPositionPreferences::setTouchHandlerModifyHorizontalAngleLimits ( const std::pair< double, double > & horizAngleLimits)
inlinenoexceptinherited

Set touch handler horizontal angle adjust limits.

Parameters
[in]horizAngleLimits. Values must be in { -180., 180. } range

Empty { 0., 0. } interval can be provided to forbid manually adjusting horizontal angle. Default values are { 0., 0. }

Returns
FollowPositionPreferences reference

◆ setTouchHandlerModifyPersistent()

FollowPositionPreferences & gem::FollowPositionPreferences::setTouchHandlerModifyPersistent ( bool persistent)
inlinenoexceptinherited

Set manually adjusted follow position changes ( via touch handler ) persistent from one follow position session to another.

Default value is false

Parameters
[in]persistentTrue to make changes persistent
Returns
FollowPositionPreferences reference

◆ setTouchHandlerModifyVerticalAngleLimits()

FollowPositionPreferences & gem::FollowPositionPreferences::setTouchHandlerModifyVerticalAngleLimits ( const std::pair< double, double > & vertAngleLimits)
inlinenoexceptinherited

Set touch handler vertical angle adjust limits.

Parameters
[in]vertAngleLimitsVertical angle adjust limits. Values must be in { 0., 90. } range

Empty { 0., 0. } interval can be provided to forbid manually adjusting vertical angle. Default values are { 0., 70. }

Returns
FollowPositionPreferences reference

◆ setViewAngle()

FollowPositionPreferences & gem::FollowPositionPreferences::setViewAngle ( double value,
bool animated = false )
inlinenoexceptinherited

Set vertical angle in follow position mode.

Parameters
[in]valueThe view angle
[in]animatedThe animation flag
Returns
FollowPositionPreferences reference;

◆ setZoomLevel()

int gem::FollowPositionPreferences::setZoomLevel ( int zoomLevel,
int duration = 0 )
inlinenoexceptinherited

Set a zoom level in follow position mode.

Parameters
[in]zoomLevelZoom level, may be between 0 and getMaxZoomLevel()
[in]durationThe animation duration in milliseconds (0 means no animation)
Returns
The previous zoom level