# Class: NavigationMode

## vcs.vcm.NavigationMode

### Members

#### values{vcs.vcm.NavigationMode.Values}

### Methods

#### vcs.vcm.NavigationMode.getInstance(){vcs.vcm.NavigationMode}

  Singleton getter for this class.

#### activateFirstPersonMode(optViewpoint, optDuration, optMaximumHeight, optAllowHeightChanges, optUseAbsoluteHeight)

  Name | Type | Description
  --- | --- | ---
  `optViewpoint` | vcs.vcm.util.ViewPoint |
  `optDuration` | number | Duration of the animation in secs
  `optMaximumHeight` | number | Maximum height during animation (can be used to get rid of the bunny hop)
  `optAllowHeightChanges` | boolean |
  `optUseAbsoluteHeight` | boolean | no TerrainCorrection

#### activateOverviewMode(optViewpoint, optDuration, optMaximumHeight)

  Name | Type | Description
  --- | --- | ---
  `optViewpoint` | vcs.vcm.util.ViewPoint |
  `optDuration` | number | Duration of the animation in secs
  `optMaximumHeight` | number | Maximum height during animation (can be used to get rid of the bunny hop)

#### setFlags(setTheseFlags)

  Programmatically set the flags which control the firstPerson mode

  Name | Type | Description
  --- | --- | ---
  `setTheseFlags` | Object.<string, boolean> | `vcs.vcm.NavigationMode.possibleFlags`

  TODO
    - write reasonabel getters and setters for flags

#### setHeading(heading)

  sets a new Heading

  Name | Type | Description
  --- | --- | ---
  `heading` | number |

  Deprecated
    - Yes

#### setOptions(options)

  Name | Type | Description
  --- | --- | ---
  `options` | vcs.vcm.NavigationMode.Options | optional options, if the class has already been gotten they have no effect

#### setValues(values)

  sets new Values {'referenceHeight':1.6}

  Name | Type | Description
  --- | --- | ---
  `values` | vcs.vcm.NavigationMode.Values |

### Type Definitions

#### vcs.vcm.NavigationMode.Options{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `referenceHeight` | number | undefined |
  `moveFactor` | number | undefined |

#### vcs.vcm.NavigationMode.possibleFlags{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `looking` | boolean |
  `moveForward` | boolean |
  `moveBackward` | boolean |
  `moveUp` | boolean |
  `moveDown` | boolean |
  `moveLeft` | boolean |
  `moveRight` | boolean |
  `increaseFOV` | boolean |
  `decreaseFOV` | boolean |
  `rotation` | boolean |
  `tiltUp` | boolean |
  `tiltDown` | boolean |
  `rotateEast` | boolean |
  `rotateWest` | boolean |

#### vcs.vcm.NavigationMode.Values{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `referenceHeight` | number |
  `active` | boolean |
  `walkmode` | boolean |