Altus Mapping Engine JavaScript API Reference - v2.0.ut.2153.g60764257e - Tuesday May 16, 2022 SDK Documentation | Builds | BA3 Home
AltusUnified Namespace Reference

Classes

class  AnimatedCircle
 A movable, pulsing circle. More...
 
class  AnimationManager
 Manages animations. More...
 
class  Atmospherics
 Controls the atmospheric and lighting systems More...
 
class  BinaryBlob
 Represents binary data of some given size. More...
 
class  BoundingBox
 
class  BoundingRange
 
class  Camera
 A virtual camera that controls how the map is viewed. More...
 
class  ClassicCameraModifier
 Modifies camera behavior so it behaves like the original Altus 1.0 iOS camera. More...
 
class  ClassicGestureReceiver
 An extendible class that allows a developer to handle Altus gestures (such as panning and zooming) in a unique way. There is also an existing sub-class, ClassicGestureReceiver, that handles gestures in the classic Altus 2.0 way. Gesture events are generated by Altus from the raw stream of finger/pointer events. If you would like access to the raw stream of finger/pointer events without Altus gesture generation, please see RawInputHandler. More...
 
class  ClassicInputHandler
 
class  ClusteredMarkerMap
 A map of markers, where some of the markers are hidden when the camera is zoomed far away. As you zoom in, more markers appear. Tiles are generated up to the specified maxLevel and the tiles are stored in memory. More...
 
class  Color
 Represents a color. More...
 
class  ColorBar
 
class  Diagnostics
 
class  DynamicExtrudedPolygon
 Represents a dynamic 2D polygon, extruded into 3D using a min and max altitude. More...
 
class  DynamicLine
 Represents a 2D dynamic line. More...
 
class  DynamicLine3D
 Represents a 3D dynamic line. More...
 
class  DynamicMarker
 Conveys information about a marker that will have its attributes updated frequently. More...
 
class  DynamicMarkerMap
 A dynamic marker map. Use this map to show markers that can move. Every marker is drawn every frame (they are not broken up into tiles). More...
 
class  DynamicPolygon
 Represents a dynamic 2D polygon. More...
 
class  DynamicPolygon3D
 Represents a dynamic 3D polygon. More...
 
class  DynamicShape
 Represents a dynamic shape. More...
 
class  DynamicVectorMap
 Represents a map of dynamic vector data. More...
 
class  DynamicVectorMarkerMap
 Represents a map of vector markers (currently only AnimatedVectorCircles) More...
 
class  ExtrudedPolygon
 
class  Framerate
 Controls the rendering framerate. Use this to turn on "Green Mode", which renders less frequently and reduced performance requirements and power consumption. More...
 
class  FrameRenderer
 
class  FreeAxisInputHandler
 
class  GeoBoundingBox
 
class  GeographicPosition
 Represents a three dimensional location using latitude, longitude, and altitude. More...
 
class  GeographicPosition2D
 Represents a two dimensional location using latitude and longitude. More...
 
class  GeometryGroup
 
class  GestureInputHandler
 
class  HitTesting
 Controls Scene-wide hit testing. More...
 
class  IGestureReceiver
 An extendible class that allows a developer to handle Altus gestures (such as panning and zooming) in a unique way. There is also an existing sub-class, ClassicGestureReceiver, that handles gestures in the classic Altus 2.0 way. Gesture events are generated by Altus from the raw stream of finger/pointer events. If you would like access to the raw stream of finger/pointer events without Altus gesture generation, please see RawInputHandler. More...
 
class  ILongPressDelegate
 
class  Image
 
class  IMarkerMapDelegate
 A delegate for a MarkerMap, used to receive events when a user clicks on a marker or to specify the images for markers that were created without images (such as VirtualMap tiled marker maps). More...
 
class  IModelMapDelegate
 
class  InputEventManager
 
class  InstancedModel
 
class  InternetTileProvider
 
class  IResourceManager
 
class  ISceneDelegate
 
class  ITileLoader
 
class  ITileProvider
 
class  ITimerListener
 
class  IVectorMapDelegate
 A delegate object for a VectorMap. If you create a sub-object of this type, you can receive hit detection events for the VectorMap. More...
 
class  KeyboardEvent
 
class  Keysym
 
class  LineSegmentHit
 Represents a "hit" or "tap" or "click" on a vector line. More...
 
class  LineStyle
 Expresses style for a line. More...
 
class  ListGestureReceiver
 An extendible class that allows a developer to handle Altus gestures (such as panning and zooming) in a unique way. There is also an existing sub-class, ClassicGestureReceiver, that handles gestures in the classic Altus 2.0 way. Gesture events are generated by Altus from the raw stream of finger/pointer events. If you would like access to the raw stream of finger/pointer events without Altus gesture generation, please see RawInputHandler. More...
 
class  ListInputHandler
 
class  LoadingInstructions
 
class  LongPressGestureReceiver
 An extendible class that allows a developer to handle Altus gestures (such as panning and zooming) in a unique way. There is also an existing sub-class, ClassicGestureReceiver, that handles gestures in the classic Altus 2.0 way. Gesture events are generated by Altus from the raw stream of finger/pointer events. If you would like access to the raw stream of finger/pointer events without Altus gesture generation, please see RawInputHandler. More...
 
class  LongPressInputHandler
 
class  Map
 A base class for all Maps. You cannot create this map directly. More...
 
class  MapDesc
 
class  MapDoubleColor
 
class  MapSamplerDesc
 
class  MapSamplerExtrudedVectorData
 
class  MapSamplerMarkerResourceData
 
class  MapSamplerPointWithPercentage
 
class  MapUintMarker
 
class  MapUintMarkerResource
 
class  MapView
 
class  Marker
 
class  MarkerData
 The data required to create a marker. More...
 
class  MarkerHit
 Information about a marker the user has tapped or clicked on. More...
 
class  MarkerImageInfo
 
class  MarkerMap
 Base class for marker maps. You cannot create one of these. More...
 
class  MarkerResource
 
class  Mesh
 
class  Model
 
class  ModelHit
 
class  ModelMap
 A map of 3D models. Every model is drawn every frame. This map is not tiled. More...
 
class  ModelTransform
 
class  ModelVertex
 
class  MouseButtonEvent
 
class  MouseMotionEvent
 
class  MouseWheelEvent
 
class  MultiGestureEvent
 
class  Orientation
 /////////////////////////////////////////////// More...
 
class  PointSet
 
class  PointSet3d
 
class  Polar
 
class  Polygon
 
class  PolygonHit
 Represents hit detection on a polygon. More...
 
class  PolygonStyle
 Expresses style for a polygon. More...
 
class  quatd
 
class  RawInputHandler
 
class  Scene
 The main rendering component and container of other objects. More...
 
class  Screen
 Represents the screen or window Altus renders to. More...
 
class  ScreenSpacePercentagePoint
 
class  Sphere
 
class  Texture
 
class  TileId
 
class  TileResult
 
class  Timer
 
class  TimeStamp
 
class  TouchFingerEvent
 
class  Transform
 
class  TriangleSet3d
 
class  Uint64_LowHigh
 
class  vec2d
 
class  vec2f
 
class  vec2i
 
class  vec3d
 
class  vec3f
 
class  vec4f
 
class  VectorBoundingBox
 
class  VectorByte
 
class  VectorColor
 
class  VectorCoordsVect
 
class  VectorDynamicMarker
 
class  VectorExtrudedPolygon
 
class  VectorFloat
 
class  VectorGeoBoundingBox
 
class  VectorGeographicPosition
 
class  VectorGeographicPosition2D
 
class  VectorGeometryHit
 Represents a "hit" or "click" or "tap" on a 2D line or polygon. More...
 
class  VectorGLushort
 
class  VectorInt
 
class  VectorMap
 Represents a map of vector data that is rarely updated. Tiles are generated using this map and lines and polygons are split across tiles if necessary. For a vector map of frequently updated or deleted shapes, see DynamicVectorMap. More...
 
class  VectorMapBase
 Represents a map of vector data. More...
 
class  VectorMapSamplerPointWithPercentage
 
class  VectorMarker
 
class  VectorMarkerData
 
class  VectorMarkerHit
 
class  VectorModel
 
class  VectorModelHit
 
class  VectorModelVertex
 
class  VectorPointSet
 
class  VectorPointSet3d
 
class  VectorPolygon
 
class  VectorPolygonHit
 
class  VectorShort
 
class  VectorString
 
class  VectorTexture
 
class  VectorTileId
 
class  VectorTileResult
 
class  VectorTransform
 
class  VectorTriangleSet3d
 
class  VectorUint32_t
 
class  VectorUint64_t
 
class  VectorVec2d
 
class  VectorVec3d
 
class  VertexHit
 Represents a "hit" or "click" or "tap" on a 2D line or polygon. More...
 
class  VirtualMap
 A map where the tiles are specified by a tile provider. This map allows you to generate the data however you like, by creating a custom TileProvider. There are available TileProviders as well, such as the InternetTileProvider, for downloading tiles from a URL. More...
 
class  WeatherGridMap
 A WeatherGridMap is a special kind of map where each tile is raster data, either 1 channel or 3 channels, and the data in these tiles are colored using a color bar. For example, a temperature map would have 1 channel of temperatures and the color bar would color the temperatures from blue (for cold) through red (for hot). More...
 

Enumerations

enum  ShapeType { POLYGON, LINE, TRIANGLE_SET }
 
enum  ImageFormat {
  RGB888, RGBA8888, RGBA4444, RGB565,
  GRAY16, GRAY8
}
 Describes the pixel format of an image. More...
 
enum  TextureMagFilter { Nearest, Linear }
 
enum  MarkerRotationType { ROTATION_SCREENEDGE_ALIGNED, ROTATION_TRUENORTH_ALIGNED }
 
enum  Neighbor { NONE, TOP, BOTTOM }
 
enum  TreeRegion { ROOT, CENTER, NORTH, SOUTH }
 
enum  TileProviderResponse {
  UNKNOWN_RESPONSE, IMAGE_FILE_NAME, IMAGE_DATA, CACHED_IMAGE_NAME,
  TRANSPARENT_WITH_CHILDREN, TRANSPARENT_WITHOUT_CHILDREN, WAS_CANCELLED, NOT_AVAILABLE
}
 
enum  VectorWindingOrder { CLOCKWISE, COUNTER_CLOCKWISE, BOTH }
 
enum  MarkerImageLoadingStrategy { IMAGE_LOAD_ASYNC, IMAGE_LOAD_SYNC, IMAGE_LOAD_PRECACHED }
 
enum  TargetImageFormat { TWO_BPP, FOUR_BPP }
 
enum  StorageType { DISK, MEMORY }
 
enum  ContentType { ZOOM_DEPENDENT, ZOOM_INDEPENDENT }
 
enum  StreamType {
  LOWEST_DETAIL_FIRST, HIGHEST_DETAIL_ONLY, PRELOADED, HYBRID,
  NONE
}
 
enum  MapFormat {
  UNKNOWN, PNG, JPG, PVR,
  HGT, VIRTUAL, VECTOR, VIRTUAL_ASYNCHRONOUS,
  CUSTOM_BOUNDS_IMAGE, MARKER, HGT_TAWS, PVR_RAW,
  DYNAMIC_MARKER, VIRTUAL_VECTOR, VIRTUAL_MARKER, VIRTUAL_LABEL,
  VIRTUAL_TERRAIN, DATA_GRID, TERRAIN_HEIGHT, TERRAIN_MESH,
  RASTER, GRID_SMOOTH, HGT_PNG, MODEL,
  WEATHER_GRID, CACHED_IMAGE, DYNAMIC_VECTOR_MARKER, DEPTH_TEST
}
 Describes the type a map is. More...
 
enum  VectorGeometryHitType { Vertex, LineSegment }
 
enum  EventType {
  NOEVENT, FIRSTEVENT, QUIT, WINDOWEVENT,
  SYSWMEVENT, KEYDOWN, KEYUP, TEXTEDITING,
  TEXTINPUT, MOUSEMOTION, MOUSEBUTTONDOWN, MOUSEBUTTONUP,
  MOUSEWHEEL, INPUTMOTION, INPUTBUTTONDOWN, INPUTBUTTONUP,
  INPUTWHEEL, INPUTPROXIMITYIN, INPUTPROXIMITYOUT, JOYAXISMOTION,
  JOYBALLMOTION, JOYHATMOTION, JOYBUTTONDOWN, JOYBUTTONUP,
  FINGERDOWN, FINGERUP, FINGERMOTION, TOUCHBUTTONDOWN,
  TOUCHBUTTONUP, DOLLARGESTURE, DOLLARRECORD, MULTIGESTURE,
  CLIPBOARDUPDATE, EVENT_COMPAT1, EVENT_COMPAT2, EVENT_COMPAT3,
  USEREVENT, LASTEVENT
}
 
enum  Keycode {
  KEYCODE_UNKNOWN, KEYCODE_SPACE, KEYCODE_EXCLAIM, KEYCODE_QUOTEDBL,
  KEYCODE_HASH, KEYCODE_PERCENT, KEYCODE_DOLLAR, KEYCODE_AMPERSAND,
  KEYCODE_QUOTE, KEYCODE_LEFTPAREN, KEYCODE_RIGHTPAREN, KEYCODE_ASTERISK,
  KEYCODE_PLUS, KEYCODE_COMMA, KEYCODE_MINUS, KEYCODE_PERIOD,
  KEYCODE_SLASH, KEYCODE_0, KEYCODE_1, KEYCODE_2,
  KEYCODE_3, KEYCODE_4, KEYCODE_5, KEYCODE_6,
  KEYCODE_7, KEYCODE_8, KEYCODE_9, KEYCODE_COLON,
  KEYCODE_SEMICOLON, KEYCODE_LESS, KEYCODE_EQUALS, KEYCODE_GREATER,
  KEYCODE_QUESTION, KEYCODE_AT, KEYCODE_LEFTBRACKET, KEYCODE_BACKSLASH,
  KEYCODE_RIGHTBRACKET, KEYCODE_CARET, KEYCODE_UNDERSCORE, KEYCODE_BACKQUOTE,
  KEYCODE_a, KEYCODE_b, KEYCODE_c, KEYCODE_d,
  KEYCODE_e, KEYCODE_f, KEYCODE_g, KEYCODE_h,
  KEYCODE_i, KEYCODE_j, KEYCODE_k, KEYCODE_l,
  KEYCODE_m, KEYCODE_n, KEYCODE_o, KEYCODE_p,
  KEYCODE_q, KEYCODE_r, KEYCODE_s, KEYCODE_t,
  KEYCODE_u, KEYCODE_v, KEYCODE_w, KEYCODE_x,
  KEYCODE_y, KEYCODE_z, KEYCODE_CAPSLOCK, KEYCODE_F1,
  KEYCODE_F2, KEYCODE_F3, KEYCODE_F4, KEYCODE_F5,
  KEYCODE_F6, KEYCODE_F7, KEYCODE_F8, KEYCODE_F9,
  KEYCODE_F10, KEYCODE_F11, KEYCODE_F12, KEYCODE_PRINTSCREEN,
  KEYCODE_SCROLLLOCK, KEYCODE_PAUSE, KEYCODE_INSERT, KEYCODE_HOME,
  KEYCODE_PAGEUP, KEYCODE_DELETE, KEYCODE_END, KEYCODE_PAGEDOWN,
  KEYCODE_RIGHT, KEYCODE_LEFT, KEYCODE_DOWN, KEYCODE_UP,
  KEYCODE_NUMLOCKCLEAR, KEYCODE_KP_DIVIDE, KEYCODE_KP_MULTIPLY, KEYCODE_KP_MINUS,
  KEYCODE_KP_PLUS, KEYCODE_KP_ENTER, KEYCODE_KP_1, KEYCODE_KP_2,
  KEYCODE_KP_3, KEYCODE_KP_4, KEYCODE_KP_5, KEYCODE_KP_6,
  KEYCODE_KP_7, KEYCODE_KP_8, KEYCODE_KP_9, KEYCODE_KP_0,
  KEYCODE_KP_PERIOD, KEYCODE_APPLICATION, KEYCODE_POWER, KEYCODE_KP_EQUALS,
  KEYCODE_F13, KEYCODE_F14, KEYCODE_F15, KEYCODE_F16,
  KEYCODE_F17, KEYCODE_F18, KEYCODE_F19, KEYCODE_F20,
  KEYCODE_F21, KEYCODE_F22, KEYCODE_F23, KEYCODE_F24,
  KEYCODE_EXECUTE, KEYCODE_HELP, KEYCODE_MENU, KEYCODE_SELECT,
  KEYCODE_STOP, KEYCODE_AGAIN, KEYCODE_UNDO, KEYCODE_CUT,
  KEYCODE_COPY, KEYCODE_PASTE, KEYCODE_FIND, KEYCODE_MUTE,
  KEYCODE_VOLUMEUP, KEYCODE_VOLUMEDOWN, KEYCODE_KP_COMMA, KEYCODE_KP_EQUALSAS400,
  KEYCODE_ALTERASE, KEYCODE_SYSREQ, KEYCODE_CANCEL, KEYCODE_CLEAR,
  KEYCODE_PRIOR, KEYCODE_RETURN2, KEYCODE_SEPARATOR, KEYCODE_OUT,
  KEYCODE_OPER, KEYCODE_CLEARAGAIN, KEYCODE_CRSEL, KEYCODE_EXSEL,
  KEYCODE_KP_00, KEYCODE_KP_000, KEYCODE_THOUSANDSSEPARATOR, KEYCODE_DECIMALSEPARATOR,
  KEYCODE_CURRENCYUNIT, KEYCODE_CURRENCYSUBUNIT, KEYCODE_KP_LEFTPAREN, KEYCODE_KP_RIGHTPAREN,
  KEYCODE_KP_LEFTBRACE, KEYCODE_KP_RIGHTBRACE, KEYCODE_KP_TAB, KEYCODE_KP_BACKSPACE,
  KEYCODE_KP_A, KEYCODE_KP_B, KEYCODE_KP_C, KEYCODE_KP_D,
  KEYCODE_KP_E, KEYCODE_KP_F, KEYCODE_KP_XOR, KEYCODE_KP_POWER,
  KEYCODE_KP_PERCENT, KEYCODE_KP_LESS, KEYCODE_KP_GREATER, KEYCODE_KP_AMPERSAND,
  KEYCODE_KP_DBLAMPERSAND, KEYCODE_KP_VERTICALBAR, KEYCODE_KP_DBLVERTICALBAR, KEYCODE_KP_COLON,
  KEYCODE_KP_HASH, KEYCODE_KP_SPACE, KEYCODE_KP_AT, KEYCODE_KP_EXCLAM,
  KEYCODE_KP_MEMSTORE, KEYCODE_KP_MEMRECALL, KEYCODE_KP_MEMCLEAR, KEYCODE_KP_MEMADD,
  KEYCODE_KP_MEMSUBTRACT, KEYCODE_KP_MEMMULTIPLY, KEYCODE_KP_MEMDIVIDE, KEYCODE_KP_PLUSMINUS,
  KEYCODE_KP_CLEAR, KEYCODE_KP_CLEARENTRY, KEYCODE_KP_BINARY, KEYCODE_KP_OCTAL,
  KEYCODE_KP_DECIMAL, KEYCODE_KP_HEXADECIMAL, KEYCODE_LCTRL, KEYCODE_LSHIFT,
  KEYCODE_LALT, KEYCODE_LGUI, KEYCODE_RCTRL, KEYCODE_RSHIFT,
  KEYCODE_RALT, KEYCODE_RGUI, KEYCODE_MODE, KEYCODE_AUDIONEXT,
  KEYCODE_AUDIOPREV, KEYCODE_AUDIOSTOP, KEYCODE_AUDIOPLAY, KEYCODE_AUDIOMUTE,
  KEYCODE_MEDIASELECT, KEYCODE_WWW, KEYCODE_MAIL, KEYCODE_CALCULATOR,
  KEYCODE_COMPUTER, KEYCODE_AC_SEARCH, KEYCODE_AC_HOME, KEYCODE_AC_BACK,
  KEYCODE_AC_FORWARD, KEYCODE_AC_STOP, KEYCODE_AC_REFRESH, KEYCODE_AC_BOOKMARKS,
  KEYCODE_BRIGHTNESSDOWN, KEYCODE_BRIGHTNESSUP, KEYCODE_DISPLAYSWITCH, KEYCODE_KBDILLUMTOGGLE,
  KEYCODE_KBDILLUMDOWN, KEYCODE_KBDILLUMUP, KEYCODE_EJECT, KEYCODE_SLEEP
}
 
enum  Scancode {
  SCANCODE_UNKNOWN, SCANCODE_A, SCANCODE_B, SCANCODE_C,
  SCANCODE_D, SCANCODE_E, SCANCODE_F, SCANCODE_G,
  SCANCODE_H, SCANCODE_I, SCANCODE_J, SCANCODE_K,
  SCANCODE_L, SCANCODE_M, SCANCODE_N, SCANCODE_O,
  SCANCODE_P, SCANCODE_Q, SCANCODE_R, SCANCODE_S,
  SCANCODE_T, SCANCODE_U, SCANCODE_V, SCANCODE_W,
  SCANCODE_X, SCANCODE_Y, SCANCODE_Z, SCANCODE_1,
  SCANCODE_2, SCANCODE_3, SCANCODE_4, SCANCODE_5,
  SCANCODE_6, SCANCODE_7, SCANCODE_8, SCANCODE_9,
  SCANCODE_0, SCANCODE_RETURN, SCANCODE_ESCAPE, SCANCODE_BACKSPACE,
  SCANCODE_TAB, SCANCODE_SPACE, SCANCODE_MINUS, SCANCODE_EQUALS,
  SCANCODE_LEFTBRACKET, SCANCODE_RIGHTBRACKET, SCANCODE_BACKSLASH, SCANCODE_NONUSHASH,
  SCANCODE_SEMICOLON, SCANCODE_APOSTROPHE, SCANCODE_GRAVE, SCANCODE_COMMA,
  SCANCODE_PERIOD, SCANCODE_SLASH, SCANCODE_CAPSLOCK, SCANCODE_F1,
  SCANCODE_F2, SCANCODE_F3, SCANCODE_F4, SCANCODE_F5,
  SCANCODE_F6, SCANCODE_F7, SCANCODE_F8, SCANCODE_F9,
  SCANCODE_F10, SCANCODE_F11, SCANCODE_F12, SCANCODE_PRINTSCREEN,
  SCANCODE_SCROLLLOCK, SCANCODE_PAUSE, SCANCODE_INSERT, SCANCODE_HOME,
  SCANCODE_PAGEUP, SCANCODE_DELETE, SCANCODE_END, SCANCODE_PAGEDOWN,
  SCANCODE_RIGHT, SCANCODE_LEFT, SCANCODE_DOWN, SCANCODE_UP,
  SCANCODE_NUMLOCKCLEAR, SCANCODE_KP_DIVIDE, SCANCODE_KP_MULTIPLY, SCANCODE_KP_MINUS,
  SCANCODE_KP_PLUS, SCANCODE_KP_ENTER, SCANCODE_KP_1, SCANCODE_KP_2,
  SCANCODE_KP_3, SCANCODE_KP_4, SCANCODE_KP_5, SCANCODE_KP_6,
  SCANCODE_KP_7, SCANCODE_KP_8, SCANCODE_KP_9, SCANCODE_KP_0,
  SCANCODE_KP_PERIOD, SCANCODE_NONUSBACKSLASH, SCANCODE_APPLICATION, SCANCODE_POWER,
  SCANCODE_KP_EQUALS, SCANCODE_F13, SCANCODE_F14, SCANCODE_F15,
  SCANCODE_F16, SCANCODE_F17, SCANCODE_F18, SCANCODE_F19,
  SCANCODE_F20, SCANCODE_F21, SCANCODE_F22, SCANCODE_F23,
  SCANCODE_F24, SCANCODE_EXECUTE, SCANCODE_HELP, SCANCODE_MENU,
  SCANCODE_SELECT, SCANCODE_STOP, SCANCODE_AGAIN, SCANCODE_UNDO,
  SCANCODE_CUT, SCANCODE_COPY, SCANCODE_PASTE, SCANCODE_FIND,
  SCANCODE_MUTE, SCANCODE_VOLUMEUP, SCANCODE_VOLUMEDOWN, SCANCODE_KP_COMMA,
  SCANCODE_KP_EQUALSAS400, SCANCODE_INTERNATIONAL1, SCANCODE_INTERNATIONAL2, SCANCODE_INTERNATIONAL3,
  SCANCODE_INTERNATIONAL4, SCANCODE_INTERNATIONAL5, SCANCODE_INTERNATIONAL6, SCANCODE_INTERNATIONAL7,
  SCANCODE_INTERNATIONAL8, SCANCODE_INTERNATIONAL9, SCANCODE_LANG1, SCANCODE_LANG2,
  SCANCODE_LANG3, SCANCODE_LANG4, SCANCODE_LANG5, SCANCODE_LANG6,
  SCANCODE_LANG7, SCANCODE_LANG8, SCANCODE_LANG9, SCANCODE_ALTERASE,
  SCANCODE_SYSREQ, SCANCODE_CANCEL, SCANCODE_CLEAR, SCANCODE_PRIOR,
  SCANCODE_RETURN2, SCANCODE_SEPARATOR, SCANCODE_OUT, SCANCODE_OPER,
  SCANCODE_CLEARAGAIN, SCANCODE_CRSEL, SCANCODE_EXSEL, SCANCODE_KP_00,
  SCANCODE_KP_000, SCANCODE_THOUSANDSSEPARATOR, SCANCODE_DECIMALSEPARATOR, SCANCODE_CURRENCYUNIT,
  SCANCODE_CURRENCYSUBUNIT, SCANCODE_KP_LEFTPAREN, SCANCODE_KP_RIGHTPAREN, SCANCODE_KP_LEFTBRACE,
  SCANCODE_KP_RIGHTBRACE, SCANCODE_KP_TAB, SCANCODE_KP_BACKSPACE, SCANCODE_KP_A,
  SCANCODE_KP_B, SCANCODE_KP_C, SCANCODE_KP_D, SCANCODE_KP_E,
  SCANCODE_KP_F, SCANCODE_KP_XOR, SCANCODE_KP_POWER, SCANCODE_KP_PERCENT,
  SCANCODE_KP_LESS, SCANCODE_KP_GREATER, SCANCODE_KP_AMPERSAND, SCANCODE_KP_DBLAMPERSAND,
  SCANCODE_KP_VERTICALBAR, SCANCODE_KP_DBLVERTICALBAR, SCANCODE_KP_COLON, SCANCODE_KP_HASH,
  SCANCODE_KP_SPACE, SCANCODE_KP_AT, SCANCODE_KP_EXCLAM, SCANCODE_KP_MEMSTORE,
  SCANCODE_KP_MEMRECALL, SCANCODE_KP_MEMCLEAR, SCANCODE_KP_MEMADD, SCANCODE_KP_MEMSUBTRACT,
  SCANCODE_KP_MEMMULTIPLY, SCANCODE_KP_MEMDIVIDE, SCANCODE_KP_PLUSMINUS, SCANCODE_KP_CLEAR,
  SCANCODE_KP_CLEARENTRY, SCANCODE_KP_BINARY, SCANCODE_KP_OCTAL, SCANCODE_KP_DECIMAL,
  SCANCODE_KP_HEXADECIMAL, SCANCODE_LCTRL, SCANCODE_LSHIFT, SCANCODE_LALT,
  SCANCODE_LGUI, SCANCODE_RCTRL, SCANCODE_RSHIFT, SCANCODE_RALT,
  SCANCODE_RGUI, SCANCODE_MODE, SCANCODE_AUDIONEXT, SCANCODE_AUDIOPREV,
  SCANCODE_AUDIOSTOP, SCANCODE_AUDIOPLAY, SCANCODE_AUDIOMUTE, SCANCODE_MEDIASELECT,
  SCANCODE_WWW, SCANCODE_MAIL, SCANCODE_CALCULATOR, SCANCODE_COMPUTER,
  SCANCODE_AC_SEARCH, SCANCODE_AC_HOME, SCANCODE_AC_BACK, SCANCODE_AC_FORWARD,
  SCANCODE_AC_STOP, SCANCODE_AC_REFRESH, SCANCODE_AC_BOOKMARKS, SCANCODE_BRIGHTNESSDOWN,
  SCANCODE_BRIGHTNESSUP, SCANCODE_DISPLAYSWITCH, SCANCODE_KBDILLUMTOGGLE, SCANCODE_KBDILLUMDOWN,
  SCANCODE_KBDILLUMUP, SCANCODE_EJECT, SCANCODE_SLEEP, SCANCODE_APP1,
  SCANCODE_APP2, NUM_SCANCODES
}
 
enum  Keymod {
  KMOD_NONE, KMOD_LSHIFT, KMOD_RSHIFT, KMOD_LCTRL,
  KMOD_RCTRL, KMOD_LALT, KMOD_RALT, KMOD_LGUI,
  KMOD_RGUI, KMOD_NUM, KMOD_CAPS, KMOD_MODE,
  KMOD_RESERVED
}
 
enum  Buttonstate { RELEASED, PRESSED }
 
enum  BooleanState { Default, On, Off }
 A Boolean state, with a default. More...
 
enum  MapType {
  Unknown, Virtual, Package, PackageTerrain,
  Model, DynamicMarkerMap, VectorMap, DynamicVectorMap,
  ClusteredMarkerMap, WeatherGridMap, DynamicVectorMarkerMap, VirtualMarker
}
 Conveys a map type. More...
 
enum  RenderEventFlags { NONE, PRE_RENDER, POST_RENDER, PRE_AND_POST_RENDER }
 
enum  LocationType { DIRECTION_ABSOLUTE, DIRECTION_VIEW_OFFSET, DIRECTION_ACCURATE }
 Expresses the meaning of the relative position of the Sun (for lighting and for the Sun sprite). More...
 
enum  LightingType { REALISTIC, CLASSIC }
 Expresses the kind of lighting to be applied. More...
 
enum  MapSamplerStatus { Done, MoreTasksCanStart, MaximumTasksExecuting, TasksExecuting }
 

Functions

int InitializeMapView ()
 
Scene getScene ()
 
InputEventManager getInputManager ()
 
Timer getTimer ()
 
void setDomainName (string)
 
void handlePageVisible (bool)
 
size_t hashString (string s)
 
double toDegreesUnchecked (double radians)
 Converts radians to degrees. More...
 
double toRadiansUnchecked (double degrees)
 Converts degrees to radians. More...
 
double toDegrees (double radians)
 Converts radians to degrees. More...
 
double toRadians (double degrees)
 Converts degrees to radians. More...
 
double toRadians (double degrees, double minutes)
 Converts degrees and minutes to radians. More...
 
double convertCoordinate (double hour, double min, double sec, char direction)
 Converts a value like 30 06' 11'' W to a positive ot negative value. More...
 
bool areEqual (double a, double b)
 Tests whether a and b are equal More...
 
double arcLength (double minLat, double maxLat)
 Converts maxLat-minLat to radians and returns the value More...
 
double arcLength (double lat, double minLon, double maxLon)
 Takes 90-lat, canverts to radians and takes the sin. Multiplies that by the radian value of maxLon-minLon. More...
 
double maxArcLength (vec2d minCoord, vec2d maxCoord)
 Finds the maximum arc length between two coordinates More...
 
bool isValidCoordinate (vec2d coord)
 Tests whether a and b are equal More...
 
double distanceBetween (vec2d point0, vec2d point1)
 Returns distance in radians between two geographic locations, each location represented in radians More...
 
double nauticalMilesBetween (vec2d point0, vec2d point1)
 Returns distance in nm between two geographic locations, each location represented in degrees More...
 
double nauticalMilesInRoute (VectorVec2d points)
 Returns the total distance along a series of lon/lat points in degrees More...
 
double radiansToNauticalMiles (double radians)
 Converts radians to nautical miles More...
 
double nauticalMilesToRadians (double nauticalMiles)
 Converts nautical miles to radians More...
 
double nauticalMilesToMeters (double nauticalMiles)
 Converts nautical miles to meters More...
 
double metersToNauticalMiles (double meters)
 Converts meters to nautical miles More...
 
double getEarthCircumferenceInMeters ()
 Compute Earth's circumference in meters More...
 
double getEarthCircumferenceInNauticalMiles ()
 Compute Earth's circumference in nautical miles More...
 
double courseFromPointToPoint (vec2d point1, vec2d point2)
 Returns the course to take to reach point2 from point1 More...
 
vec2d pointBetween (vec2d point1, vec2d point2, double f)
 Returns the point that is f/1 the distance between point1 and point2. When f = 0, point 1 will be returned, when f = 1, point 2 will be returned. This is used for route-line point tesselation. The units of point1 and point 2 should be degrees x=lon/y=lat. Returned point will be degrees x=lon/y=lat. More...
 
vec2d pointOnRadial (vec2d origin, double radial, double distance)
 Returns a point that is a given distance along an angle from an origin point. More...
 
vec2d closestPointOnLineToPoint (vec2d point, vec2d line0, vec2d line1)
 Given a point, this function looks along a line and calculates the nearest point on the line to that point. More...
 
bool isAngleBetweenAngles (double angle, double angleStart, double angleEnd)
 Takes in an angle in degrees and tests if it is between two angle values More...
 
VectorVec2d tesselateRoute (vec2d point1, vec2d point2, unsigned int numPoints)
 Creates numPoints points along the great-circle line between point1 and point2 More...
 
VectorVec2d tesselateRouteFast (vec2d point1, vec2d point2, unsigned int numPoints)
 Creates numPoints points along the route between point1 and point2 More...
 
VectorVec2d tesselateRoute (VectorVec2d wayPoints, unsigned int numSamples)
 Tesselates a route given as an array points along that route. The returned samples are evenly spaced in nautical miles over the route. More...
 
quatd make_quaternion (Orientation orientation)
 Makes a quaternion More...
 
Orientation make_orientation (quatd q)
 Makes an orientation More...
 
vec3d rotate (quatd q, vec3d x)
 Rotates a quaternion More...
 
vec3d slerp (vec3d fromVec3d, vec3d end, double alpha)
 Performs a slerp More...
 
vec3d make_orientationRPY (quatd q)
 Makes an orientationRPY More...
 
quatd make_quaternion (vec3d Axis, double angle)
 Makes a quaternion More...
 
vec3d getWorldPosition (GeographicPosition position)
 Gets a position More...
 
quatd getLocalOrientation (Polar polarPosition, quatd orientation)
 Gets an orientation More...
 
Orientation getGeographicOrientation (vec3d worldPosition, quatd worldOrientation)
 Gets an orientation More...
 
vec3d intersectRayWithUnitSphereOrClosestPoint (vec3d worldPosition, vec3d worldRay)
 Performs the intersection and returns the point More...
 
vec3d intersectRayWithSphereOrClosestPoint (double sphereRadius, vec3d worldPosition, vec3d worldRay2)
 Performs the intersection and returns the point More...
 
double lerpAngle (double start, double end, double t)
 
double lerpAngleRadians (double start, double end, double t)
 
double wrapAngle (double value, double lower, double upper)
 
double wrapAngleRadians (double value)
 
double wrapLongitude (double value)
 
double getGeographicLength (vec2d a, vec2d b)
 
double maxArcLength (BoundingBox bounds)
 
GeographicPosition getGeographicPosition (vec3d worldPosition)
 
GeographicPosition2D getGeographicPosition2D (vec3d worldPosition)
 

Variables

double EARTH_RADIUS_METERS
 
double EARTH_RADIUS
 
double ATMOSPHERE_RADIUS_METERS
 
double ATMOSPHERE_RADIUS
 
double RADIAN_TO_DEGREE
 
double DEGREE_TO_RADIAN
 
double EPSILON
 
double MERCATOR_MAX
 
double MERCATOR_MIN
 
double HEIGHTSCALE_DIVISOR
 
int MAX_LEVEL
 

Enumeration Type Documentation

A Boolean state, with a default.

Enumerator
Default 
On 
Off 
Enumerator
RELEASED 
PRESSED 
Enumerator
ZOOM_DEPENDENT 
ZOOM_INDEPENDENT 
Enumerator
NOEVENT 
FIRSTEVENT 

Unused (do not remove)

QUIT 

User-requested quit

WINDOWEVENT 

Window state change

SYSWMEVENT 

System specific event

KEYDOWN 

Key pressed

KEYUP 

Key released

TEXTEDITING 

Keyboard text editing (composition)

TEXTINPUT 

Keyboard text input

MOUSEMOTION 

Mouse moved

MOUSEBUTTONDOWN 

Mouse button pressed

MOUSEBUTTONUP 

Mouse button released

MOUSEWHEEL 

Mouse wheel motion

INPUTMOTION 

Input moved

INPUTBUTTONDOWN 

Input button pressed

INPUTBUTTONUP 

Input button released

INPUTWHEEL 

Input wheel motion

INPUTPROXIMITYIN 

Input pen entered proximity

INPUTPROXIMITYOUT 

Input pen left proximity

JOYAXISMOTION 

Joystick axis motion

JOYBALLMOTION 

Joystick trackball motion

JOYHATMOTION 

Joystick hat position change

JOYBUTTONDOWN 

Joystick button pressed

JOYBUTTONUP 

Joystick button released

FINGERDOWN 
FINGERUP 
FINGERMOTION 
TOUCHBUTTONDOWN 
TOUCHBUTTONUP 
DOLLARGESTURE 
DOLLARRECORD 
MULTIGESTURE 
CLIPBOARDUPDATE 

The clipboard changed

EVENT_COMPAT1 

SDL 1.2 events for compatibility

EVENT_COMPAT2 
EVENT_COMPAT3 
USEREVENT 

Events USEREVENT through LASTEVENT are for your use, and should be allocated with RegisterEvents()

LASTEVENT 

This last event is only for bounding internal arrays

Describes the pixel format of an image.

Enumerator
RGB888 

8 bits for each color channel, 3 color channels: red, green, blue for a total of 24 bits per pixel

RGBA8888 

8 bits for each color channel, 4 color channels: red, green, blue, alpha for a total of 32 bits per pixel

RGBA4444 

4 bits for each color channel, 4 color channels: red, green, blue, alpha for a total of 16 bits per pixel

RGB565 

5, 6, and 5 bits respectively for 3 color channels: red, green, and blue for a total of 16 bits per pixel

GRAY16 

16 bits for a single color channel representing grayscale

GRAY8 

8 bits for a single color channel representing grayscale

Enumerator
KEYCODE_UNKNOWN 
KEYCODE_SPACE 
KEYCODE_EXCLAIM 
KEYCODE_QUOTEDBL 
KEYCODE_HASH 
KEYCODE_PERCENT 
KEYCODE_DOLLAR 
KEYCODE_AMPERSAND 
KEYCODE_QUOTE 
KEYCODE_LEFTPAREN 
KEYCODE_RIGHTPAREN 
KEYCODE_ASTERISK 
KEYCODE_PLUS 
KEYCODE_COMMA 
KEYCODE_MINUS 
KEYCODE_PERIOD 
KEYCODE_SLASH 
KEYCODE_0 
KEYCODE_1 
KEYCODE_2 
KEYCODE_3 
KEYCODE_4 
KEYCODE_5 
KEYCODE_6 
KEYCODE_7 
KEYCODE_8 
KEYCODE_9 
KEYCODE_COLON 
KEYCODE_SEMICOLON 
KEYCODE_LESS 
KEYCODE_EQUALS 
KEYCODE_GREATER 
KEYCODE_QUESTION 
KEYCODE_AT 
KEYCODE_LEFTBRACKET 
KEYCODE_BACKSLASH 
KEYCODE_RIGHTBRACKET 
KEYCODE_CARET 
KEYCODE_UNDERSCORE 
KEYCODE_BACKQUOTE 
KEYCODE_a 
KEYCODE_b 
KEYCODE_c 
KEYCODE_d 
KEYCODE_e 
KEYCODE_f 
KEYCODE_g 
KEYCODE_h 
KEYCODE_i 
KEYCODE_j 
KEYCODE_k 
KEYCODE_l 
KEYCODE_m 
KEYCODE_n 
KEYCODE_o 
KEYCODE_p 
KEYCODE_q 
KEYCODE_r 
KEYCODE_s 
KEYCODE_t 
KEYCODE_u 
KEYCODE_v 
KEYCODE_w 
KEYCODE_x 
KEYCODE_y 
KEYCODE_z 
KEYCODE_CAPSLOCK 
KEYCODE_F1 
KEYCODE_F2 
KEYCODE_F3 
KEYCODE_F4 
KEYCODE_F5 
KEYCODE_F6 
KEYCODE_F7 
KEYCODE_F8 
KEYCODE_F9 
KEYCODE_F10 
KEYCODE_F11 
KEYCODE_F12 
KEYCODE_PRINTSCREEN 
KEYCODE_SCROLLLOCK 
KEYCODE_PAUSE 
KEYCODE_INSERT 
KEYCODE_HOME 
KEYCODE_PAGEUP 
KEYCODE_DELETE 
KEYCODE_END 
KEYCODE_PAGEDOWN 
KEYCODE_RIGHT 
KEYCODE_LEFT 
KEYCODE_DOWN 
KEYCODE_UP 
KEYCODE_NUMLOCKCLEAR 
KEYCODE_KP_DIVIDE 
KEYCODE_KP_MULTIPLY 
KEYCODE_KP_MINUS 
KEYCODE_KP_PLUS 
KEYCODE_KP_ENTER 
KEYCODE_KP_1 
KEYCODE_KP_2 
KEYCODE_KP_3 
KEYCODE_KP_4 
KEYCODE_KP_5 
KEYCODE_KP_6 
KEYCODE_KP_7 
KEYCODE_KP_8 
KEYCODE_KP_9 
KEYCODE_KP_0 
KEYCODE_KP_PERIOD 
KEYCODE_APPLICATION 
KEYCODE_POWER 
KEYCODE_KP_EQUALS 
KEYCODE_F13 
KEYCODE_F14 
KEYCODE_F15 
KEYCODE_F16 
KEYCODE_F17 
KEYCODE_F18 
KEYCODE_F19 
KEYCODE_F20 
KEYCODE_F21 
KEYCODE_F22 
KEYCODE_F23 
KEYCODE_F24 
KEYCODE_EXECUTE 
KEYCODE_HELP 
KEYCODE_MENU 
KEYCODE_SELECT 
KEYCODE_STOP 
KEYCODE_AGAIN 
KEYCODE_UNDO 
KEYCODE_CUT 
KEYCODE_COPY 
KEYCODE_PASTE 
KEYCODE_FIND 
KEYCODE_MUTE 
KEYCODE_VOLUMEUP 
KEYCODE_VOLUMEDOWN 
KEYCODE_KP_COMMA 
KEYCODE_KP_EQUALSAS400 
KEYCODE_ALTERASE 
KEYCODE_SYSREQ 
KEYCODE_CANCEL 
KEYCODE_CLEAR 
KEYCODE_PRIOR 
KEYCODE_RETURN2 
KEYCODE_SEPARATOR 
KEYCODE_OUT 
KEYCODE_OPER 
KEYCODE_CLEARAGAIN 
KEYCODE_CRSEL 
KEYCODE_EXSEL 
KEYCODE_KP_00 
KEYCODE_KP_000 
KEYCODE_THOUSANDSSEPARATOR 
KEYCODE_DECIMALSEPARATOR 
KEYCODE_CURRENCYUNIT 
KEYCODE_CURRENCYSUBUNIT 
KEYCODE_KP_LEFTPAREN 
KEYCODE_KP_RIGHTPAREN 
KEYCODE_KP_LEFTBRACE 
KEYCODE_KP_RIGHTBRACE 
KEYCODE_KP_TAB 
KEYCODE_KP_BACKSPACE 
KEYCODE_KP_A 
KEYCODE_KP_B 
KEYCODE_KP_C 
KEYCODE_KP_D 
KEYCODE_KP_E 
KEYCODE_KP_F 
KEYCODE_KP_XOR 
KEYCODE_KP_POWER 
KEYCODE_KP_PERCENT 
KEYCODE_KP_LESS 
KEYCODE_KP_GREATER 
KEYCODE_KP_AMPERSAND 
KEYCODE_KP_DBLAMPERSAND 
KEYCODE_KP_VERTICALBAR 
KEYCODE_KP_DBLVERTICALBAR 
KEYCODE_KP_COLON 
KEYCODE_KP_HASH 
KEYCODE_KP_SPACE 
KEYCODE_KP_AT 
KEYCODE_KP_EXCLAM 
KEYCODE_KP_MEMSTORE 
KEYCODE_KP_MEMRECALL 
KEYCODE_KP_MEMCLEAR 
KEYCODE_KP_MEMADD 
KEYCODE_KP_MEMSUBTRACT 
KEYCODE_KP_MEMMULTIPLY 
KEYCODE_KP_MEMDIVIDE 
KEYCODE_KP_PLUSMINUS 
KEYCODE_KP_CLEAR 
KEYCODE_KP_CLEARENTRY 
KEYCODE_KP_BINARY 
KEYCODE_KP_OCTAL 
KEYCODE_KP_DECIMAL 
KEYCODE_KP_HEXADECIMAL 
KEYCODE_LCTRL 
KEYCODE_LSHIFT 
KEYCODE_LALT 
KEYCODE_LGUI 
KEYCODE_RCTRL 
KEYCODE_RSHIFT 
KEYCODE_RALT 
KEYCODE_RGUI 
KEYCODE_MODE 
KEYCODE_AUDIONEXT 
KEYCODE_AUDIOPREV 
KEYCODE_AUDIOSTOP 
KEYCODE_AUDIOPLAY 
KEYCODE_AUDIOMUTE 
KEYCODE_MEDIASELECT 
KEYCODE_WWW 
KEYCODE_MAIL 
KEYCODE_CALCULATOR 
KEYCODE_COMPUTER 
KEYCODE_AC_SEARCH 
KEYCODE_AC_HOME 
KEYCODE_AC_BACK 
KEYCODE_AC_FORWARD 
KEYCODE_AC_STOP 
KEYCODE_AC_REFRESH 
KEYCODE_AC_BOOKMARKS 
KEYCODE_BRIGHTNESSDOWN 
KEYCODE_BRIGHTNESSUP 
KEYCODE_DISPLAYSWITCH 
KEYCODE_KBDILLUMTOGGLE 
KEYCODE_KBDILLUMDOWN 
KEYCODE_KBDILLUMUP 
KEYCODE_EJECT 
KEYCODE_SLEEP 
Enumerator
KMOD_NONE 
KMOD_LSHIFT 
KMOD_RSHIFT 
KMOD_LCTRL 
KMOD_RCTRL 
KMOD_LALT 
KMOD_RALT 
KMOD_LGUI 
KMOD_RGUI 
KMOD_NUM 
KMOD_CAPS 
KMOD_MODE 
KMOD_RESERVED 

Expresses the kind of lighting to be applied.

Enumerator
REALISTIC 

Realistic lighting with sun and atmosphere

CLASSIC 

Simple (and more efficient) lighting

Expresses the meaning of the relative position of the Sun (for lighting and for the Sun sprite).

Enumerator
DIRECTION_ABSOLUTE 

Specify the position of the sun in geographic coordinates.

DIRECTION_VIEW_OFFSET 

Specify the position of the sun in geographic coordinates relative to the camera. This is really only useful for values really close to (0,0), where the camera is behind the camera and lighting everything in view.

DIRECTION_ACCURATE 

Ignore SetSunLocation and always place the sun in the current position in the sky.

Describes the type a map is.

Enumerator
UNKNOWN 

What now?

PNG 
JPG 
PVR 
HGT 
VIRTUAL 
VECTOR 
VIRTUAL_ASYNCHRONOUS 
CUSTOM_BOUNDS_IMAGE 
MARKER 
HGT_TAWS 
PVR_RAW 
DYNAMIC_MARKER 
VIRTUAL_VECTOR 
VIRTUAL_MARKER 
VIRTUAL_LABEL 
VIRTUAL_TERRAIN 
DATA_GRID 
TERRAIN_HEIGHT 
TERRAIN_MESH 
RASTER 
GRID_SMOOTH 
HGT_PNG 
MODEL 
WEATHER_GRID 
CACHED_IMAGE 
DYNAMIC_VECTOR_MARKER 
DEPTH_TEST 
Enumerator
Done 
MoreTasksCanStart 

All tasks have completed.

MaximumTasksExecuting 

There are tasks waiting to start. Call Update again to start another task.

TasksExecuting 

The maximum number of tasks are executing. When one finished, another can start.

Conveys a map type.

Enumerator
Unknown 

Unknown map type

Virtual 

Data is provided by tile providers

Package 

Data comes from Atlus package files

PackageTerrain 

Data comes from Altus package files and contains height data

Model 

Map contains 3D models

DynamicMarkerMap 

Map contains moveable markers

VectorMap 

Map contains static vector data

DynamicVectorMap 

Map contains dynamic vector data

ClusteredMarkerMap 

Map contains clustered marker data

WeatherGridMap 

Map contains gridded weather data

DynamicVectorMarkerMap 

Map contains animated vectors, such as vector circles

VirtualMarker 

Marker data is provided by tile providers

Enumerator
IMAGE_LOAD_ASYNC 
IMAGE_LOAD_SYNC 
IMAGE_LOAD_PRECACHED 
Enumerator
ROTATION_SCREENEDGE_ALIGNED 
ROTATION_TRUENORTH_ALIGNED 
Enumerator
NONE 
TOP 
BOTTOM 
Enumerator
NONE 
PRE_RENDER 
POST_RENDER 
PRE_AND_POST_RENDER 
Enumerator
SCANCODE_UNKNOWN 
SCANCODE_A 
SCANCODE_B 
SCANCODE_C 
SCANCODE_D 
SCANCODE_E 
SCANCODE_F 
SCANCODE_G 
SCANCODE_H 
SCANCODE_I 
SCANCODE_J 
SCANCODE_K 
SCANCODE_L 
SCANCODE_M 
SCANCODE_N 
SCANCODE_O 
SCANCODE_P 
SCANCODE_Q 
SCANCODE_R 
SCANCODE_S 
SCANCODE_T 
SCANCODE_U 
SCANCODE_V 
SCANCODE_W 
SCANCODE_X 
SCANCODE_Y 
SCANCODE_Z 
SCANCODE_1 
SCANCODE_2 
SCANCODE_3 
SCANCODE_4 
SCANCODE_5 
SCANCODE_6 
SCANCODE_7 
SCANCODE_8 
SCANCODE_9 
SCANCODE_0 
SCANCODE_RETURN 
SCANCODE_ESCAPE 
SCANCODE_BACKSPACE 
SCANCODE_TAB 
SCANCODE_SPACE 
SCANCODE_MINUS 
SCANCODE_EQUALS 
SCANCODE_LEFTBRACKET 
SCANCODE_RIGHTBRACKET 
SCANCODE_BACKSLASH 

Located at the lower left of the return key on ISO keyboards and at the right end of the QWERTY row on ANSI keyboards. Produces REVERSE SOLIDUS (backslash) and VERTICAL LINE in a US layout, REVERSE SOLIDUS and VERTICAL LINE in a UK Mac layout, NUMBER SIGN and TILDE in a UK Windows layout, DOLLAR SIGN and POUND SIGN in a Swiss German layout, NUMBER SIGN and APOSTROPHE in a German layout, GRAVE ACCENT and POUND SIGN in a French Mac layout, and ASTERISK and MICRO SIGN in a French Windows layout.

SCANCODE_NONUSHASH 

ISO USB keyboards actually use this code instead of 49 for the same key, but all OSes I've seen treat the two codes identically. So, as an implementor, unless your keyboard generates both of those codes and your OS treats them differently, you should generate SCANCODE_BACKSLASH instead of this code. As a user, you should not rely on this code because SDL will never generate it with most (all?) keyboards.

SCANCODE_SEMICOLON 
SCANCODE_APOSTROPHE 
SCANCODE_GRAVE 

Located in the top left corner (on both ANSI and ISO keyboards). Produces GRAVE ACCENT and TILDE in a US Windows layout and in US and UK Mac layouts on ANSI keyboards, GRAVE ACCENT and NOT SIGN in a UK Windows layout, SECTION SIGN and PLUS-MINUS SIGN in US and UK Mac layouts on ISO keyboards, SECTION SIGN and DEGREE SIGN in a Swiss German layout (Mac: only on ISO keyboards), CIRCUMFLEX ACCENT and DEGREE SIGN in a German layout (Mac: only on ISO keyboards), SUPERSCRIPT TWO and TILDE in a French Windows layout, COMMERCIAL AT and NUMBER SIGN in a French Mac layout on ISO keyboards, and LESS-THAN SIGN and GREATER-THAN SIGN in a Swiss German, German, or French Mac layout on ANSI keyboards.

SCANCODE_COMMA 
SCANCODE_PERIOD 
SCANCODE_SLASH 
SCANCODE_CAPSLOCK 
SCANCODE_F1 
SCANCODE_F2 
SCANCODE_F3 
SCANCODE_F4 
SCANCODE_F5 
SCANCODE_F6 
SCANCODE_F7 
SCANCODE_F8 
SCANCODE_F9 
SCANCODE_F10 
SCANCODE_F11 
SCANCODE_F12 
SCANCODE_PRINTSCREEN 
SCANCODE_SCROLLLOCK 
SCANCODE_PAUSE 
SCANCODE_INSERT 

insert on PC, help on some Mac keyboards (but does send code 73, not 117)

SCANCODE_HOME 
SCANCODE_PAGEUP 
SCANCODE_DELETE 
SCANCODE_END 
SCANCODE_PAGEDOWN 
SCANCODE_RIGHT 
SCANCODE_LEFT 
SCANCODE_DOWN 
SCANCODE_UP 
SCANCODE_NUMLOCKCLEAR 

num lock on PC, clear on Mac keyboards

SCANCODE_KP_DIVIDE 
SCANCODE_KP_MULTIPLY 
SCANCODE_KP_MINUS 
SCANCODE_KP_PLUS 
SCANCODE_KP_ENTER 
SCANCODE_KP_1 
SCANCODE_KP_2 
SCANCODE_KP_3 
SCANCODE_KP_4 
SCANCODE_KP_5 
SCANCODE_KP_6 
SCANCODE_KP_7 
SCANCODE_KP_8 
SCANCODE_KP_9 
SCANCODE_KP_0 
SCANCODE_KP_PERIOD 
SCANCODE_NONUSBACKSLASH 

This is the additional key that ISO keyboards have over ANSI ones, located between left shift and Y. Produces GRAVE ACCENT and TILDE in a US or UK Mac layout, REVERSE SOLIDUS (backslash) and VERTICAL LINE in a US or UK Windows layout, and LESS-THAN SIGN and GREATER-THAN SIGN in a Swiss German, German, or French layout.

SCANCODE_APPLICATION 

windows contextual menu, compose

SCANCODE_POWER 

The USB document says this is a status flag, not a physical key - but some Mac keyboards do have a power key.

SCANCODE_KP_EQUALS 
SCANCODE_F13 
SCANCODE_F14 
SCANCODE_F15 
SCANCODE_F16 
SCANCODE_F17 
SCANCODE_F18 
SCANCODE_F19 
SCANCODE_F20 
SCANCODE_F21 
SCANCODE_F22 
SCANCODE_F23 
SCANCODE_F24 
SCANCODE_EXECUTE 
SCANCODE_HELP 
SCANCODE_MENU 
SCANCODE_SELECT 
SCANCODE_STOP 
SCANCODE_AGAIN 

redo

SCANCODE_UNDO 
SCANCODE_CUT 
SCANCODE_COPY 
SCANCODE_PASTE 
SCANCODE_FIND 
SCANCODE_MUTE 
SCANCODE_VOLUMEUP 
SCANCODE_VOLUMEDOWN 
SCANCODE_KP_COMMA 
SCANCODE_KP_EQUALSAS400 
SCANCODE_INTERNATIONAL1 

used on Asian keyboards, see footnotes in USB doc

SCANCODE_INTERNATIONAL2 
SCANCODE_INTERNATIONAL3 

Yen

SCANCODE_INTERNATIONAL4 
SCANCODE_INTERNATIONAL5 
SCANCODE_INTERNATIONAL6 
SCANCODE_INTERNATIONAL7 
SCANCODE_INTERNATIONAL8 
SCANCODE_INTERNATIONAL9 
SCANCODE_LANG1 

Hangul/English toggle

SCANCODE_LANG2 

Hanja conversion

SCANCODE_LANG3 

Katakana

SCANCODE_LANG4 

Hiragana

SCANCODE_LANG5 

Zenkaku/Hankaku

SCANCODE_LANG6 

reserved

SCANCODE_LANG7 

reserved

SCANCODE_LANG8 

reserved

SCANCODE_LANG9 

reserved

SCANCODE_ALTERASE 

Erase-Eaze

SCANCODE_SYSREQ 
SCANCODE_CANCEL 
SCANCODE_CLEAR 
SCANCODE_PRIOR 
SCANCODE_RETURN2 
SCANCODE_SEPARATOR 
SCANCODE_OUT 
SCANCODE_OPER 
SCANCODE_CLEARAGAIN 
SCANCODE_CRSEL 
SCANCODE_EXSEL 
SCANCODE_KP_00 
SCANCODE_KP_000 
SCANCODE_THOUSANDSSEPARATOR 
SCANCODE_DECIMALSEPARATOR 
SCANCODE_CURRENCYUNIT 
SCANCODE_CURRENCYSUBUNIT 
SCANCODE_KP_LEFTPAREN 
SCANCODE_KP_RIGHTPAREN 
SCANCODE_KP_LEFTBRACE 
SCANCODE_KP_RIGHTBRACE 
SCANCODE_KP_TAB 
SCANCODE_KP_BACKSPACE 
SCANCODE_KP_A 
SCANCODE_KP_B 
SCANCODE_KP_C 
SCANCODE_KP_D 
SCANCODE_KP_E 
SCANCODE_KP_F 
SCANCODE_KP_XOR 
SCANCODE_KP_POWER 
SCANCODE_KP_PERCENT 
SCANCODE_KP_LESS 
SCANCODE_KP_GREATER 
SCANCODE_KP_AMPERSAND 
SCANCODE_KP_DBLAMPERSAND 
SCANCODE_KP_VERTICALBAR 
SCANCODE_KP_DBLVERTICALBAR 
SCANCODE_KP_COLON 
SCANCODE_KP_HASH 
SCANCODE_KP_SPACE 
SCANCODE_KP_AT 
SCANCODE_KP_EXCLAM 
SCANCODE_KP_MEMSTORE 
SCANCODE_KP_MEMRECALL 
SCANCODE_KP_MEMCLEAR 
SCANCODE_KP_MEMADD 
SCANCODE_KP_MEMSUBTRACT 
SCANCODE_KP_MEMMULTIPLY 
SCANCODE_KP_MEMDIVIDE 
SCANCODE_KP_PLUSMINUS 
SCANCODE_KP_CLEAR 
SCANCODE_KP_CLEARENTRY 
SCANCODE_KP_BINARY 
SCANCODE_KP_OCTAL 
SCANCODE_KP_DECIMAL 
SCANCODE_KP_HEXADECIMAL 
SCANCODE_LCTRL 
SCANCODE_LSHIFT 
SCANCODE_LALT 

alt, option

SCANCODE_LGUI 

windows, command (apple), meta

SCANCODE_RCTRL 
SCANCODE_RSHIFT 
SCANCODE_RALT 

alt gr, option

SCANCODE_RGUI 

windows, command (apple), meta

SCANCODE_MODE 

I'm not sure if this is really not covered by any of the above, but since there's a special KMOD_MODE for it I'm adding it here

SCANCODE_AUDIONEXT 
SCANCODE_AUDIOPREV 
SCANCODE_AUDIOSTOP 
SCANCODE_AUDIOPLAY 
SCANCODE_AUDIOMUTE 
SCANCODE_MEDIASELECT 
SCANCODE_WWW 
SCANCODE_MAIL 
SCANCODE_CALCULATOR 
SCANCODE_COMPUTER 
SCANCODE_AC_SEARCH 
SCANCODE_AC_HOME 
SCANCODE_AC_BACK 
SCANCODE_AC_FORWARD 
SCANCODE_AC_STOP 
SCANCODE_AC_REFRESH 
SCANCODE_AC_BOOKMARKS 
SCANCODE_BRIGHTNESSDOWN 
SCANCODE_BRIGHTNESSUP 
SCANCODE_DISPLAYSWITCH 

display mirroring/dual display switch, video mode switch

SCANCODE_KBDILLUMTOGGLE 
SCANCODE_KBDILLUMDOWN 
SCANCODE_KBDILLUMUP 
SCANCODE_EJECT 
SCANCODE_SLEEP 
SCANCODE_APP1 
SCANCODE_APP2 
NUM_SCANCODES 

not a key, just marks the number of scancodes for array bounds

Enumerator
POLYGON 
LINE 
TRIANGLE_SET 
Enumerator
DISK 
MEMORY 
Enumerator
LOWEST_DETAIL_FIRST 
HIGHEST_DETAIL_ONLY 
PRELOADED 
HYBRID 
NONE 
Enumerator
TWO_BPP 
FOUR_BPP 
Enumerator
Nearest 
Linear 
Enumerator
UNKNOWN_RESPONSE 
IMAGE_FILE_NAME 
IMAGE_DATA 
CACHED_IMAGE_NAME 
TRANSPARENT_WITH_CHILDREN 
TRANSPARENT_WITHOUT_CHILDREN 
WAS_CANCELLED 
NOT_AVAILABLE 
Enumerator
ROOT 
CENTER 
NORTH 
SOUTH 
Enumerator
Vertex 
LineSegment 
Enumerator
CLOCKWISE 
COUNTER_CLOCKWISE 
BOTH 

Function Documentation

double AltusUnified::arcLength ( double  minLat,
double  maxLat 
)

Converts maxLat-minLat to radians and returns the value

double AltusUnified::arcLength ( double  lat,
double  minLon,
double  maxLon 
)

Takes 90-lat, canverts to radians and takes the sin. Multiplies that by the radian value of maxLon-minLon.

bool AltusUnified::areEqual ( double  a,
double  b 
)

Tests whether a and b are equal

vec2d AltusUnified::closestPointOnLineToPoint ( vec2d  point,
vec2d  line0,
vec2d  line1 
)

Given a point, this function looks along a line and calculates the nearest point on the line to that point.

double AltusUnified::convertCoordinate ( double  hour,
double  min,
double  sec,
char  direction 
)

Converts a value like 30 06' 11'' W to a positive ot negative value.

double AltusUnified::courseFromPointToPoint ( vec2d  point1,
vec2d  point2 
)

Returns the course to take to reach point2 from point1

double AltusUnified::distanceBetween ( vec2d  point0,
vec2d  point1 
)

Returns distance in radians between two geographic locations, each location represented in radians

double AltusUnified::getEarthCircumferenceInMeters ( )

Compute Earth's circumference in meters

double AltusUnified::getEarthCircumferenceInNauticalMiles ( )

Compute Earth's circumference in nautical miles

double AltusUnified::getGeographicLength ( vec2d  a,
vec2d  b 
)
Orientation AltusUnified::getGeographicOrientation ( vec3d  worldPosition,
quatd  worldOrientation 
)

Gets an orientation

GeographicPosition AltusUnified::getGeographicPosition ( vec3d  worldPosition)
GeographicPosition2D AltusUnified::getGeographicPosition2D ( vec3d  worldPosition)
InputEventManager AltusUnified::getInputManager ( )
quatd AltusUnified::getLocalOrientation ( Polar  polarPosition,
quatd  orientation 
)

Gets an orientation

Scene AltusUnified::getScene ( )
Timer AltusUnified::getTimer ( )
vec3d AltusUnified::getWorldPosition ( GeographicPosition  position)

Gets a position

void AltusUnified::handlePageVisible ( bool  )
size_t AltusUnified::hashString ( string  s)
int AltusUnified::InitializeMapView ( )
vec3d AltusUnified::intersectRayWithSphereOrClosestPoint ( double  sphereRadius,
vec3d  worldPosition,
vec3d  worldRay2 
)

Performs the intersection and returns the point

vec3d AltusUnified::intersectRayWithUnitSphereOrClosestPoint ( vec3d  worldPosition,
vec3d  worldRay 
)

Performs the intersection and returns the point

bool AltusUnified::isAngleBetweenAngles ( double  angle,
double  angleStart,
double  angleEnd 
)

Takes in an angle in degrees and tests if it is between two angle values

bool AltusUnified::isValidCoordinate ( vec2d  coord)

Tests whether a and b are equal

double AltusUnified::lerpAngle ( double  start,
double  end,
double  t 
)
double AltusUnified::lerpAngleRadians ( double  start,
double  end,
double  t 
)
Orientation AltusUnified::make_orientation ( quatd  q)

Makes an orientation

vec3d AltusUnified::make_orientationRPY ( quatd  q)

Makes an orientationRPY

quatd AltusUnified::make_quaternion ( Orientation  orientation)

Makes a quaternion

quatd AltusUnified::make_quaternion ( vec3d  Axis,
double  angle 
)

Makes a quaternion

double AltusUnified::maxArcLength ( vec2d  minCoord,
vec2d  maxCoord 
)

Finds the maximum arc length between two coordinates

double AltusUnified::maxArcLength ( BoundingBox  bounds)
double AltusUnified::metersToNauticalMiles ( double  meters)

Converts meters to nautical miles

double AltusUnified::nauticalMilesBetween ( vec2d  point0,
vec2d  point1 
)

Returns distance in nm between two geographic locations, each location represented in degrees

double AltusUnified::nauticalMilesInRoute ( VectorVec2d  points)

Returns the total distance along a series of lon/lat points in degrees

double AltusUnified::nauticalMilesToMeters ( double  nauticalMiles)

Converts nautical miles to meters

double AltusUnified::nauticalMilesToRadians ( double  nauticalMiles)

Converts nautical miles to radians

vec2d AltusUnified::pointBetween ( vec2d  point1,
vec2d  point2,
double  f 
)

Returns the point that is f/1 the distance between point1 and point2. When f = 0, point 1 will be returned, when f = 1, point 2 will be returned. This is used for route-line point tesselation. The units of point1 and point 2 should be degrees x=lon/y=lat. Returned point will be degrees x=lon/y=lat.

vec2d AltusUnified::pointOnRadial ( vec2d  origin,
double  radial,
double  distance 
)

Returns a point that is a given distance along an angle from an origin point.

double AltusUnified::radiansToNauticalMiles ( double  radians)

Converts radians to nautical miles

vec3d AltusUnified::rotate ( quatd  q,
vec3d  x 
)

Rotates a quaternion

void AltusUnified::setDomainName ( string  )
vec3d AltusUnified::slerp ( vec3d  fromVec3d,
vec3d  end,
double  alpha 
)

Performs a slerp

VectorVec2d AltusUnified::tesselateRoute ( vec2d  point1,
vec2d  point2,
unsigned int  numPoints 
)

Creates numPoints points along the great-circle line between point1 and point2

VectorVec2d AltusUnified::tesselateRoute ( VectorVec2d  wayPoints,
unsigned int  numSamples 
)

Tesselates a route given as an array points along that route. The returned samples are evenly spaced in nautical miles over the route.

VectorVec2d AltusUnified::tesselateRouteFast ( vec2d  point1,
vec2d  point2,
unsigned int  numPoints 
)

Creates numPoints points along the route between point1 and point2

double AltusUnified::toDegrees ( double  radians)

Converts radians to degrees.

double AltusUnified::toDegreesUnchecked ( double  radians)

Converts radians to degrees.

double AltusUnified::toRadians ( double  degrees)

Converts degrees to radians.

double AltusUnified::toRadians ( double  degrees,
double  minutes 
)

Converts degrees and minutes to radians.

double AltusUnified::toRadiansUnchecked ( double  degrees)

Converts degrees to radians.

double AltusUnified::wrapAngle ( double  value,
double  lower,
double  upper 
)
double AltusUnified::wrapAngleRadians ( double  value)
double AltusUnified::wrapLongitude ( double  value)

Variable Documentation

double AltusUnified::ATMOSPHERE_RADIUS
double AltusUnified::ATMOSPHERE_RADIUS_METERS
double AltusUnified::DEGREE_TO_RADIAN
double AltusUnified::EARTH_RADIUS
double AltusUnified::EARTH_RADIUS_METERS
double AltusUnified::EPSILON
double AltusUnified::HEIGHTSCALE_DIVISOR
int AltusUnified::MAX_LEVEL
double AltusUnified::MERCATOR_MAX
double AltusUnified::MERCATOR_MIN
double AltusUnified::RADIAN_TO_DEGREE