Types for Utility Purposes

The following types serve general utility roles and in miscellaneous functions not part of the other categories. These types use fixed, numeric constants, which are defined here.


This type represents operations on a child layer

GM_ChildLayerOp_Load = 0

The child layer was just loaded

GM_ChildLayerOp_Close = 1

The child layer was just closed

GM_ChildLayerOp_DrawScaleChosen = 2

The draw scale for an online layer was chosen. Event data is sint32* with zoom scale number

GM_ChildLayerOp_ExportScaleChosen = 3

The export scale for an online layer was chosen. Event data is sint32* with zoom scale number

GM_ChildLayerOp_LocalTileMissing = 4

The tile for a local tile data set was missing. Event data is str with filename that was missing


This type represents the different available datum transformation methods

GM_Datum_Molodensky = 0

3-parameter Molodensky datum transformation

GM_Datum_BursaWolfe = 1

7-parameter Bursa-Wolfe datum transformation

GM_Datum_NumXFormMethods = 2


Error codes


GM_Error_None = 0

GM_Error_InvalidLayer = 1

The provided layer is not open

GM_Error_InvalidParam = 2

A parameter was invalid

GM_Error_LoadError = 3

Unable to load layer

GM_Error_MultipleLayers = 4

Multiple layers were found in the file being loaded (call GM_LoadLayerList instead)

GM_Error_CollarSetup = 5

Unable to automatically crop the collar

GM_Error_DrawError = 6

An unknown error occurred drawing the layer(s)

GM_Error_ExportError = 7

An unknown error occurred exporting the layer(s)

GM_Error_NothingToExport = 8

No data was available to export

GM_Error_InvalidFormat = 9

An invalid export format was specified

GM_Error_RectifyError = 10

An error occurred rectifying the image

GM_Error_NotSupported = 11

The operation is not supported for the layer

GM_Error_NotRegistered = 12

No registry key was found to enable this functionality

GM_Error_NoDataAtLocation = 13

No data was found at the specified location

GM_Error_OutOfMemory = 14

Not enough memory to complete the requested operation

GM_Error_Projection = 15

An error occurred projecting a coordinate

GM_Error_NoProjectionSet = 16

No view/export projection is currently set

GM_Error_ViewShedCalc = 17

An error occurred performing the Viewshed analysis

GM_Error_OperationCanceled = 18

The user canceled the operation

GM_Error_OnlineConnect = 19

A connection to the online service could not be established

GM_Error_OnlineUnknownSource = 20

No online source with the theme name provided could be found

GM_Error_GenerateContours = 21

An error occurred generating the contours

GM_Error_NotRasterLayer = 22

The layer provided is not a raster or elevation layer

GM_Error_InvalidPackage = 23

The provided handle is not a valid package

GM_Error_InvalidFeatureIndex = 24

There was no feature at the given index in the layer

GM_Error_InvalidDrawStyle = 25

The drawing style passed in is not valid

GM_Error_InvalidSymbolName = 26

The symbol name provided does not match any available point symbols

GM_Error_SymbolAlreadyCreated = 27

The symbol name specified has already been added

GM_Error_MissingFile = 28

The file specified could not be found

GM_Error_GPSDataNotValid = 29

The GPS data requested does not currently have a valid value available

GM_Error_GPSAlreadyTracking = 30

A GPS device is already being tracked, call GM_GPSStopTracking

GM_Error_VolumeCalcFailed = 31

An error occurred calculating the volume

GM_Error_InvalidHoleIndex = 32

The area does not have a hole at the index provided

GM_Error_InvalidMapIndex = 33

There is no map at the given index in the map catalog

GM_Error_3DNotOpen = 34

No 3D view window is currently open

GM_Error_3DLibraryNotFound = 35

The ExternalViewerIntf.dll library was not found

GM_Error_3DLibraryBadInterface = 36

The ExternalViewerIntf.dll library did not have the proper interface

GM_Error_3DCreateError = 37

Unexpected error creating 3D view

GM_Error_3DSetViewError = 38

Unexpected error setting 3D view

GM_Error_NothingFound = 39

No features were found within the search area

GM_Error_SearchError = 40

Unexpected search error

GM_Error_LowMemory = 41

Some data was not drawn or loaded due to low available memory

GM_Error_NotElevationLayer = 42

The layer provided is not an elevation layer

GM_Error_FileAlreadyInCatalog = 43

The provided file was already in the map catalog to which it was being added.

GM_Error_TypeAlreadyExists = 44

The provided type name was already used by an existing type

GM_Error_DatumAlreadyExists = 45

A built-in datum with the given name already exists

GM_Error_UnknownEllipsoid = 46

The ellipsoid name provided does not match a known ellipsoid

GM_Error_GridError = 47

Error generating grid from 3D vector data

GM_Error_InvalidShaderName = 48

The shader name provided was not found

GM_Error_SymbolNotCustom = 49

The symbol name provided is not a custom one that can be deleted

GM_Error_MGRSParseError = 50

Error parsing MGRS coordinate string

GM_Error_CreateBufferError = 51

Error creating a buffer around a feature

GM_Error_CopyrightedData = 52

The data attempting to be exported or fetched is copyrighted

GM_Error_BrushAlreadyCreated = 53

A fill style with the provided name already exists

GM_Error_BrushError = 54

An error was encountered adding the custom fill brush

GM_Error_EllipsoidAlreadyExists = 55

An ellipsoid with the given name already exists

GM_Error_CombineError = 56

An error occurred combining the areas

GM_Error_SkippedEmpty = 57

Empty tile was skipped on export due to passing GM_ExportFlags_SkipEmpty

GM_Error_NoFeatureElev = 58

The feature does not have a single elevation value (for lines and areas there may be per-vertex values)

GM_Error_ArcGISNotLicensed = 59

Attempted to load an ArcGIS database, but there is no license for ArcGIS

GM_Error_NotSupportedIn64BitBuild = 60

Attempted to use functionality that is not supported in a 64-bit build

GM_Error_UnableToConnectToDB = 61

Unable to connect to the database using the input connection string

GM_Error_Unspecified = 62

Generic unspecified error

GM_Error_Script = 63

Error running script

GM_Error_InvalidLidarPointIdx = 64

The Lidar point index is out of range

GM_Error_NothingChanged = 65

Nothing was changed by the modification

GM_Error_NotPaletteLayer = 66

The layer is not a palette-based layer

GM_Error_NotImageLayer = 67

The layer does not contain color imagery

GM_Error_InvalidBand = 68

The provided band was outside the range of bands for the layer

GM_Error_NoElevationLayersLoaded = 69

There are no elevation layers currently loaded

GM_Error_NoVectorLayersLoaded = 70

There are no vector layers currently loaded

GM_Error_COAST = 71

Unspecified COAST processing error

GM_Error_NoCOASTModelParmsLoaded = 72

No model parameter file is loaded

GM_Error_RegistryOpFailed = 73

Error while reading or writing the registry

GM_Error_InvalidCodePage = 74

The code page provided is not known

GM_Error_InvalidLidarQuery = 75

The Lidar query that you passed in is not an active one

GM_Error_LidarPointInQuery = 76

The Lidar point was already in the Lidar query

GM_Error_LidarPointNotInQuery = 77

The Lidar point was not found in the Lidar query

GM_Error_GenAreas = 78

An error occurred generating areas from equal values

GM_Error_DownloadFailed = 79

A file download failed

GM_Error_ExportFileAlreadyExists = 80

The specified export file already exists, and the option to allow overwrite was not specified

GM_Error_DeleteFailed = 81

The specified export file could not be deleted.

GM_Error_DatabaseCreationFailed = 82

The attempt to create a database file failed.

GM_Error_SpatialOperationsError = 83

The attempt to perform a spatial operation failed

GM_Error_NumCodes = 84

GM_Error_NotImplemented = 0xFFFF

The given function hasn’t been implemented yet

Old errors renamed for backward compatibility

GM_Error_TerraServerConnect = 19

A connection to the TerraService could not be established

GM_Error_TerraServerBadTheme = 20

No TerraServer theme with the theme name provided could be found


All the types of events that might occur in globalmapper

GM_Event_3DSizesChanged = 1

Sent whenever the texture or terrain size for the 3D view changes

GM_Event_AreaGroupChanged = 2

Sent whenever the group ID of an area is changed (data is FeatureArea*)

GM_Event_AreaTypeRemoved = 3

Sent whenever an area type is removed.

GM_Event_BackgroundColorChanged = 4

Sent whenever the background color changes

GM_Event_BatchExportFinished = 5

A batch or gridded (tiled) export has completed (data is BatchExportInfo_t*)

GM_Event_BatchExportStarted = 6

A batch or gridded (tiled) export was started (data is BatchExportInfo_t*)

GM_Event_ChildDrawCompleted = 7

Send whenever the draw of a child overlay completes (data is EventData_ChildDrawCompleted_t*)

GM_Event_CustomAreaStyleRemoved = 8

Sent whenever a custom area style is removed

GM_Event_CustomSymbolRemoved = 9

Sent whenever a custom symbol is removed

GM_Event_DefaultAreaStyleChanged = 10

Sent whenever the default style for an area type is changed (data is AreaFeatureClass_t16)

GM_Event_DefaultLineStyleChanged = 11

Sent whenever the default style for a line type is changed (data is LineFeatureClass_t16)

GM_Event_DefaultPointStyleChanged = 12

Sent whenever the default style for a line type is changed (data is PointFeatureClass_t16)

GM_Event_DrawDisable = 13

Sent whenever we want to disable draws

GM_Event_DrawEnable = 14

Sent whenever we want to re-enable draws

GM_Event_DrawScaleChanged = 15

Sent each time the GraphicsObject draw scale changed.

GM_Event_ExportBoundsChanged = 16

Sent whenever the export bounds of a layer changes (like when cropping is changed)

GM_Event_FeatureAdded = 17

Sent whenever a new feature is added to an existing layer (item data is Feature* that was added)

GM_Event_FeatureClassificationChanged = 18

Sent whenever the classification of a feature is changed (item data is Feature* that was changed)

GM_Event_FeatureDeleted = 19

Sent whenever features are marked as deleted (item data is Feature*)

GM_Event_FeaturesMoved = 20

Sent whenever features are moved (item data is GM_EventData_FeaturesMoved_t*)

GM_Event_FeatureStyleChanged = 21

Sent whenever the drawing style of a feature is changed (item data is Feature* that was changed)

GM_Event_FileLoadRequested = 22

Sent to request load of a file (item data is CString*)

GM_Event_FirstDraw = 23

Sent when the first draw is done

GM_Event_GlobalProjChanged = 24

Sent each time the global projection is changed. The data is the old global projection.

GM_Event_GridDisplayChanged = 25

Sent whenever the current grid display type is changed

GM_Event_LayerStyleChanged = 26

Sent whenever a layer area style or line style is changed

GM_Event_LicenseDongleLost = 27

Sent whenever a HASP dongle license is lost

GM_Event_LicenseNetworkLost = 28

Sent whenever a network license is lost

GM_Event_LicenseStatusChanged = 29

Sent whenever the license status changes (event data is ViewerConfig::ModuleType_t)

GM_Event_LineTypeRemoved = 30

Sent whenever a line type is removed.

GM_Event_MapViewChanged = 31

Sent whenever the coordinates in a map view change. The item data is a pointer to the view control object.

GM_Event_MapViewUpdateNeeded = 32

Sent whenever the map view needs to be updated

GM_Event_ModelessDialogClosing = 33

Sent whenever a modeless dialog is closed. The data is a pointer to the modeless dialog.

GM_Event_MultiCloseStarted = 34

Sent whenever a multi-close operation starts

GM_Event_MultiCloseStopped = 35

Sent whenever a multi-close operation completes

GM_Event_MultiLoadStarted = 36

Sent whenever a multi-load operation starts

GM_Event_MultiLoadStopped = 37

Sent whenever a multi-load operation completes. Data is GM_MultiLoadStateFlags_t32.

GM_Event_OverlayBoundsChanged = 38

Sent whenever the bounding box of an overlay changes

GM_Event_OverlayClosed = 39

Sent just after an overlay is closed and removed from the document’s overlay factory. gm.NULL for top-level layers, non-zero for child layers.

GM_Event_OverlayClosing = 40

Sent each time an overlay is closed from the document’s overlay factory. The data is a GeographicOverlay*

GM_Event_OverlayLoaded = 41

Sent each time a new overlay is loaded into the document’s overlay factory. The data is a GeographicOverlay*

GM_Event_OverlayOrderChangeFinished = 42

The movement of an overlay in the overlay list has finished

GM_Event_OverlayOrderChangeStarted = 43

The movement of an overlay in the overlay list has started

GM_Event_OverlayOptionsChanged = 44

Changed when any options that affect how an overlay is rendered are changed. The data is OverlayList_t* that changed.

GM_Event_PathProfileFromPosChanged = 45

Sent whenever the from position of the current path profile is changed via a popup menu

GM_Event_PathProfileToPosChanged = 46

Sent whenever the to position of the current path profile is changed via a popup menu

GM_Event_PixelScanStart = 47

Called when a pixel scan starts

GM_Event_PixelScanStop = 48

Called when a pixel scan stops

GM_Event_PointTypeRemoved = 49

Sent when a point type is removed.

GM_Event_PosFormatChanged = 50

The arc degrees display format has changed.

GM_Event_PostDrawNeeded = 51

Draw on top of main map view is need. The data is a pointer to a CDC.

GM_Event_RasterExportFinished = 52

A raster export has finished.

GM_Event_RasterExportStarted = 53

A raster export has started. The data is a pointer to a RasterExportInfo_t structure.

GM_Event_RenderStart = 54

Sent when a render operation starts

GM_Event_RenderStop = 55

Sent when a render operation is finished

GM_Event_RenderStart3D = 56

Sent when a 3D render starts

GM_Event_RenderStop3D = 57

Sent when a 3D render is finished

GM_Event_RenderStartVector = 58

Sent when a vector render starts

GM_Event_RenderStopVector = 59

Sent when a vector render is finished

GM_Event_ScaleUnitsChanged = 60

Sent whenever the scale units are changed

GM_Event_ScriptFinished = 61

Sent whenever a script finishes processing

GM_Event_ScriptStarted = 62

Sent whenever a script starts processing

GM_Event_ShadersChanged = 63

Sent whenever the available shaders change.

GM_Event_SharedRasterStatsChanged = 64

Sent whenever the shared raster stats for auto-contrast changes

GM_Event_SpeedUnitsChanged = 65

Sent whenever the speed units change.

GM_Event_TileDownloadFailed = 66

Sent whenever a tile download failed for an online source. (The data is a boolean* that is a cancel flag. Set to true if the entire operation should be cancelled)

GM_Event_VectorDisplayOptionsChanged = 67

Sent whenever a vector display option changes.

GM_Event_VectorExportFinished = 68

A vector export has finished.

GM_Event_VectorExportStarted = 69

A vector export has started. The data is a pointer to a VectorExportInfo_t structure.

GM_Event_VectorTypeFiltersChanged = 70

Sent whenever the vector type filter settings change

GM_Event_ViewBitmapInvalidated = 71

Sent whenever the view background bitmap is marked as invalid prior to a redraw.

GM_Event_MinMaxElevRangeChanged = 72

Sent whenever the min/max elevation range changes

GM_Event_LidarDisplayOptionsChanged = 73

Sent whenever a global Lidar display option changes.

GM_Event_ChildLoadCompleted = 74

Send whenever the load of a child overlay compelte (data is GeographicOverlay*)

GM_Event_ProfileCorridorWidthChanged = 75

Send whenever the corridor width on a path profile changes (data is double* with new corridor width in meters)

GM_Event_OnIdleHandled = 76

Send whenever an OnIdle message happens in the main application. Use to control control state in modeless dialogs.

GM_Event_MouseLButtonDown = 77

Sent when the Windows LButtonDown message is received (data is GM_MouseEventInfo_t*)

GM_Event_MouseLButtonUp = 78

Sent when the Windows LButtonUp message is received (data is GM_MouseEventInfo_t*)

GM_Event_MouseLButtonDoubleClick = 79

Sent when the Windows LButtonDblClick message is received (data is GM_MouseEventInfo_t*)

GM_Event_MouseRButtonDown = 80

Sent when the Windows RButtonDown message is received (data is GM_MouseEventInfo_t*)

GM_Event_MouseRButtonUp = 81

Sent when the Windows RButtonDown message is received (data is GM_MouseEventInfo_t*)

GM_Event_MouseRButtonDoubleClick = 82

Sent when the Windows RButtonDown message is received (data is GM_MouseEventInfo_t*)

GM_Event_StartDrawFeature = 83

Sent when the user starts to draw a line, area, or point feature (data is GM_DrawFeatureType*)

GM_Event_AddFeatureVertex = 84

Sent when the user adds a vertex to a line, area, or point (data is GM_Point3D_t*)

GM_Event_CompleteDrawFeature = 85

Sent when the completes the line, area, or point feature (data is Feature*)

GM_Event_LidarClassificationChanged = 86

Sent whenever the classifications of Lidar points changed. Data is LidarPointCloud_t*

GM_Event_LidarPointsDeleted = 87

Sent whenever the Lidar points are deleted. Data is LidarPointCloud_t*

GM_Event_ExtensionActivated = 88

Sent to an extension when it is activated.

GM_Event_ExtensionDeactivated = 89

Sent to an extension when it is deactivated.

GM_Event_FeatureSelectionChanged = 90

Sent when the selection status of a feature changes (data is Feature* that was changed)

GM_Event_SelectionCleared = 91

Sent when all selected features have been cleared (data is VectorOverlayList_t* of layers that were changed)

GM_Event_OnlineDrawScaleSet = 92

Sent when the draw scale for an online layer was set (data is GM_OnlineEventInfo_t*)

GM_Event_OnlineExportScaleSet = 93

Sent when the export scale for an online layer was set (data is GM_OnlineEventInfo_t*)

GM_Event_LocalTileMissing = 94

Sent whenever a file from a local tile set is missing (data is GM_OnlineEventInfo_t*)

GM_Event_LicenseNetworkRestored = 95

Sent whenever the connection to the network license server is restored.

GM_Event_ShowErrorMessage = 96

Sent whenever an error message, possibly from a background thread, needs displayed

GM_Event_MouseMove = 97

Sent when the Windows MouseMove message is received (data is GM_MouseMoveInfo_t*)

GM_Event_LicenseInvalid = 98

Sent when a node-locked license is determined to be invalid (data is ViewerConfig::ModuleType_t)

GM_Event_3DSetActiveTrack = 99

Sent to tell the 2D Viewer to update the 3D viewer’s active track

GM_Event_SelectionAboutToClear = 100

Sent before all selected features are to be cleared

GM_Event_SelectionChanged = 101

Sent when the selection of multiple unspecified items changes (data is FeatureList_t* with list of features whose selection changed)

GM_Event_LidarSelectionChanged = 102

Sent whenever the selected Lidar points changes. (data is VectorOverlayList_t* of layers that were changed)

GM_Event_CustomModelRemoved = 103

Send whenever a custom 3D model is removed (data is PointModelInfo_t*)

GM_Event_FeatureString = 104

Retrieve feature string (data is GM_FeatureString*)

GM_Event_FeatureVertexSelectionChanged = 105

Sent when the selection status of a feature vertex changes (data is Feature* that was changed)

GM_Event_MeasurePointCollectionChanged = 106

Sent when the measure tool’s point collection changed (data is boolean* indicating whether measuring is active)

GM_Event_MeasureStopMeasuring = 107

Sent when the measure tool stops measuring

GM_Event_LicenseDongleFound = 108

Sent whenever a HASP dongle license is found

GM_Event_EnterMeasureMode = 109

Sent when measure mode is entered

GM_Event_LeaveMeasureMode = 110

Sent when measure mode is left

GM_Event_VertDispOptsChanged = 111

Sent whenever the vertical display options (vert exag, light angle, etc.) are changed.

GM_Event_LidarClassNameChanged = 112

Sent whenever the name of a Lidar classification is changed (data is Lidar class code from 0-255)

GM_Event_ThreadCompleted = 113

Sent whenever a thread completes (data is DWORD of thread ID that is being cleaned up or gm.NULL for current) - use to clean up thread local storage

GM_Event_UserPannedView = 114

Sent whenever the user initiates a change of the center of the view

GM_Event_UserZoomedView = 115

Sent whenever the user initiates a change of the zoom of the view

GM_Event_IncrementalRepaintSkipped = 116

Sent whenever an incremental repaint is skipped because it is disabled

GM_Event_PreTranslateMessage = 117

Sent only to GM extensions. Should only need to be handled if the extension has a modeless dialog.

GM_Event_GetExtensionCommandState = 118

Sent only to GM extensions. Handle to provide enable/check state for toolbar buttons/menus. Data is a GM_ExtCommandState_t*.

GM_Event_AppClosing = 119

Sent whenever the GM application is shutting down. Handle to clean up static state.

GM_Event_EventList = 120

Sent whenever an event had been locked to prevent a flood of events. Contains all event data. Data is GM_EventList_t*.

GM_Event_ViewChanged = 121

Sent whenever the displayed view bounds changes. Check the active view to see what is redrawing.

GM_Event_OrientationChanged = 122

Sent whenever the orientation changes

GM_Event_CurrentShaderChanged = 123

Sent whenever the current shared elevation shader changes

GM_Event_LidarClassGroupChanged = 124

Sent whenever the class group for a given Lidar classification is changed (data is Lidar class code from 0-255)

GM_Event_PathProfileChanged = 125

Sent whenever a path profile (either active or displayed in a path profile control) changes (data is CCtrlPathProfileLOS* if in a control or gm.NULL if from the active profile tool)

GM_Event_PathProfileViewPos = 126

Sent whenever the current path profile view position changes. Data is Point3D* (0 if no point is available)

GM_Event_DocumentDeleting = 127

Sent when the document object is being deleted

GM_Event_ThreadPreCompleted = 128

DEPRECATED - Sent before the GM_Event_ThreadCompleted event so that anything that needs handle before the main thread completed cleanup can happen. Data is thread handle being completed or O for current thread.

GM_Event_CurrentWorkspaceChanged = 129

Sent whenever the current workspace filename changes.

GM_Event_RestoreDefaultSettings = 130

Sent whenever the user has selected the ‘restore default settings’ button on the Config dialog

GM_Event_FlyThroughPathChanged = 131

Sent whenever the user has modified a fly-through path

GM_Event_StartEditMode = 132

Sent when the user enters edit mode by selecting a feature type to create (data is GM_DrawFeatureType*)

GM_Event_StopEditMode = 133

Sent when the user cancels edit mode

GM_Event_LidarPointCloudAdded = 135

Sent whenever a new Lidar point cloud is added to an already loaded layer (data is LidarPointCloud_t*)

GM_Event_FeatureAttrListChanged = 136

Sent whenever the attribute list of a feature is changed (item data is Feature* that was changed)

GM_Event_FeatureIs3DChanged = 137

Sent whenever the ‘is 3D feature’ status of a feature is changed (item data is Feature* that was changed)

GM_Event_3dView2dBoundsClipping = 139

Sent when the setting for 3D viewer’s 2D bounds clipping is changed (no item data)

GM_Event_FeatureMeshGeometryChanged = 140

Sent whenever the geometry (vertices, normals, etc.) of a feature mesh is changed (item data is FeatureMesh* that was changed)

GM_Event_LayerDescriptionChanged = 141

Sent when the layer description changes (item data is GeographicOverlay* with the changed description)

GM_Event_MeasureAttrsChanged = 142

Sent whenever one or more measure attributes changes for a feature. Send instead of GM_Event_FeatureAttrListChanged (data is Feature* that was updated)

GM_Event_Search_Modified = 143

Sent when a search criteria has changed. Initially used for searching layers in the control center.

GM_Event_LidarRenderDataChanged = 144

Sent whenever a value being drawn for Lidar points in a cloud changes (data is LidarPointCloud_t*)

GM_Event_LidarNonRenderDataChanged = 145

Sent whenever a value NOT being drawn for Lidar points in a cloud changes (data is LidarPointCloud_t*)

GM_Event_LoadingUserSettingsUI = 146

Sent when importing user settings that require a reload

GM_Event_TerrainPaintCompleted = 147

Sent when a terrain paint operation has modified elevations

GM_Event_3dViewListChanged = 148

Sent when the number of 3d views change

GM_Event_RenderStartProfile = 149

Sent when a path profile render operation starts (data is CCtrlPathProfileLOS being rendered)

GM_Event_RenderStopProfile = 150

Sent when a path profile render operation finishes (data is CCtrlPathProfileLOS being rendered)

GM_Event_FeatureLabelChanged = 151

Sent whenever the display label of a feature is changed (item data is Feature* that was added)

GM_Event_FeatureDescChanged = 152

Sent whenever the description of a feature is changed (item data is Feature* that was added)

GM_Event_FeaturesRemoved = 153

Sent whenever one or more features are removed (not deleted, actually removed) from a layer (item data is VectorOverlay* that the features were removed from)

GM_Event_LayerUniqueIdChanged = 154

Sent whenever the unique ID for a layer is changed (data is GeographicOverlay*)

GM_Event_IslandFeatureAdded = 155

Sent whenever a new island is added to an already loaded area feature (item data is FeatureAreaIsland* that was added)

GM_Event_NumNonGPS = 152

Number of non-GPS event ID

GM_Event_MinGPS = 1000

The minimum GPS event ID

GM_Event_GPSAutoDetectDone = 1000

GPS auto-detect has completed

GM_Event_GPSAutoDetectStart = 1001

GPS auto-detect has started

GM_Event_GPSDeviceChange = 1002

GPS device has changed

GM_Event_GPSInitDone = 1003

GPS initialization is done

GM_Event_GPSLoggingSettingsChanged = 1004

GPS logging settings have changed

GM_Event_GPSModeChange = 1005

GPS mode has changed

GM_Event_GPSMultiVehicleUpdate = 1006

GPS update of multi-vehicle position list

GM_Event_GPSNewNmeaSentence = 1007

GPS report of new NMEA sentence read

GM_Event_GPSPosition = 1008

GPS position report

GM_Event_GPSReportEndOfFile = 1009

GPS end of NMEA file has been reached and we’re not looping

GM_Event_GPSReportFix = 1010

GPS fix is reported

GM_Event_GPSReportLostDiff = 1011

GPS differential fix was lost

GM_Event_GPSReportLostFix = 1012

GPS fix was lost

GM_Event_GPSReportNotUsable = 1013

GPS fix is not usable

GM_Event_GPSReportValidDiff = 1014

GPS differential fix was detected

GM_Event_GPSSatStatusChange = 1015

GPS satellite status has changed

GM_Event_GPSTextMessageReceived = 1016

GPS text message received (event data is GPS_txt_msg_type*)

GM_Event_GPSTrackingStopped = 1017

GPS tracking was stopped

GM_Event_GPSWaypointReceived = 1018

GPS waypoint received (event data is GPS_waypoint_type*)

GM_Event_GPSTrackingStarted = 1019

GPS tracking was started

GM_Event_GPSKeepVesselOnScreenChanged = 1020

The ‘keep GPS vessel on screen’ or ‘keep video playback location on screen’ setting changed

GM_Event_GPSTrackUpDisplayChanged = 1021

The ‘rotate map to match GPS heading or video playback heading’ setting changed

GM_Event_GPSKeepTargetPolyOnScreenChanged = 1022

The ‘keep GPS/video target polygon on screen’ setting changed (Aerial Filmworks)

GM_Event_MaxGPS = 1022

The maximum GPS event ID. Always update when adding a new GPS event.

GM_Event_Invalid = -1


Flag definition for controlling extension command item state

GM_ExtCmdState_Disable = 0x00000001

Disable the command item

GM_ExtCmdState_Check = 0x00000002

Check/press the command item


Enumeration of native languages possible for a build.


















Define logging error levels. Lower is higher priority


Logging values

GM_Log_Critical = 0

GM_Log_Error = 1

GM_Log_Warning = 2

GM_Log_Status = 3

GM_Log_Debug = 4

GM_Log_ExtremeDebug = 5

Extreme debugging, only access via registry. Will issue TRACE otherwise.

Special values for different log files

GM_Log_Timing = 100

Log a timing. Goes to timings.txt

Other special value/aliases

GM_Log_ImportantStatus = GM_Log_Error

Log status in almost all cases. Just don’t want to look like error in code

GM_Log_HighestLogLevel = GM_Log_ExtremeDebug

GM_Log_DontLog = 253

Don’t log message. Used as special value in function parameters to see if logging is needed. Note this will still issue a TRACE if passed to GM_LOG_MSG in Debug.

GM_Log_Nothing = 254

Don’t log or trace the message. Used as special value in function parameters if we want to keep log code to re-enable later.

GM_Log_NotRead = 255 The log level has not been read yet


Define menu types that an extension context menu item can be added to.


GM_Menu_Digitizer = 0

GM_MenuNumTypes = 1


Misc. advanced options flags used with GM_SetMiscOptionEx

GM_MiscOpt_DXFInsertsAsPoints = 0

Import DXF INSERT entities as points

GM_MiscOpt_TIFFPreferTFW = 1

Prefer TFW coordinates for GeoTIFF files

GM_MiscOpt_ExportOldFormatPRJ = 2

Export old format PRJ instead of new format

GM_MiscOpt_DXFLayersAsCustomTypes = 3

Add new custom types for DXF layers

GM_MiscOpt_HideNonIconRoadLabels = 4

Hide any road labels that are not icons

GM_MiscOpt_ClampGridToDataBounds = 5

Don’t expand grid lines beyond the edge of loaded data

GM_MiscOpt_BILQueryFor16BitType = 7

When loading BIL (and other similar) imagery that is 16-bit and single band, ask the user if it is elevation or imagery data

GM_MiscOpt_BorderHighlightAreas = 8

Only draw a thick border for highlighted areas rather than a filled cross-hatch

GM_MiscOpt_AddRecIDAttribute = 9

Add record ID (index) as attribute for vector features from some file types

GM_MiscOpt_DefaultToOEMCharset = 11

Make default font display use the OEM character set (codepage 437) rather than the ANSI character set (codepage 1252)

GM_MiscOpt_CenterLabelsTransparent = 12

GM_MiscOpt_MarkAddressedSegments = 13

Mark line segments with addressing with dashed styles on the side(s) of the line with addressing

GM_MiscOpt_HideOffscreenLabels = 14

Don’t display any labels that aren’t completely onscreen

GM_MiscOpt_UseCRLFInWorldFiles = 15

Use CR/LF to terminate lines in exported world files rather than just LF

GM_MiscOpt_LogDebugMessages = 16

DEPRECATED - Use GM_MiscOpt_SetLogLevel instead - Log debug messages to a file or via message callback

GM_MiscOpt_DontCropAtATM = 17

Don’t crop lat/lon area and line features that cross the ATM or have bad lat/lon values

GM_MiscOpt_DisableAutoSmooth = 18

Disable automatic interpolation of raster data at intermediate zoom levels

GM_MiscOpt_UseFilePathForExport = 19

Use path to first loaded file as default export path

GM_MiscOpt_MarkTurnRestrictions = 20

Mark the ends of lines involved in turn restrictions

GM_MiscOpt_DontAutoContrastDGTiffs = 21

Disable automatic contrast adjustment for Digital Globe imagery

GM_MiscOpt_HideMeasureAttrUnitNames = 22

Hide the unit names on measure unit text

GM_MiscOpt_DGNImportCellsAsPoints=27 = 21

Import DGN cells as point features rather than exploding them

GM_MiscOpt_DGNAddColorToDesc = 28

Add DGN feature color to description in addition to level

GM_MiscOpt_MaintainExportBounds = 32

Maintain export bounds over spacing

GM_MiscOpt_AutoIconizeRoadNames = 33

Automatically iconize road type names on import

GM_MiscOpt_RenderEndpoints = 34

Render area and line start and end vertices

GM_MiscOpt_KeepPixelIfAnyInCropPoly = 37

Keep pixel on export if any part of the pixel is inside the crop polygon/bounds rather than just the center

GM_MiscOpt_LabelLinesOnLongestSeg = 38

Always label lines along longest segment

GM_MiscOpt_AreaLabelsMustFitInArea = 40

Only display area labels if the label fits inside the area feature.

GM_MiscOpt_TreatDbfTextAsUtf8 = 42

DEPRECATED - Treat DBF file text as UTF-8 encoded

GM_MiscOpt_AlwaysInterpolateRasters = 43

Always enable interpolation for raster layers when loading them

GM_MiscOpt_DisableAutoExportInterp = 45

Disable automatic interpolation of reprojected layers during export

GM_MiscOpt_UsePenUpBorderDrawMode = 47

When duplicate vertex is encountered in area feature, turn off next border segment

GM_MiscOpt_UseGridDistance = 51

Measure using grid distance instead of Vincenty lat/lon distance

GM_MiscOpt_AlwaysFakeRasterPos = 53

Always fake the positioning information for unknown raster files

GM_MiscOpt_PlacePRJAfterFullFName = 55

Place PRJ after full filename, like test.ecw.prj for test.ecw, when generating PRJ files on export

GM_MiscOpt_IncludeDatumXFormAndEpsgInPRJ = 59

Include datum transformation parameters (TOWGS84) and EPSG does in generated WKT PRJ files. Not compatible with ESRI as morphToEsri removes them.

GM_MiscOpt_DefaultContrastMinMax = 60

Default auto contrast adjustment to linear min/max stretch

GM_MiscOpt_S57IncludeValAndDesc = 61

Include both the value and description in the attributes for S57 features

GM_MiscOpt_UseRhumbLineDistance = 63

Measure using rhumb line distance instead of Vincenty lat/lon or grid distance

GM_MiscOpt_DisableAutoContrast = 64

Disable automatic constrast adjustment for high bit depth images

GM_MiscOpt_SnapExportToPixel = 65

Snap non-reprojected exports to raster data pixel boundary

GM_MiscOpt_NoAutoInterpTerrain = 66

Disable automatic interpolation of terrain layers on import

GM_MiscOpt_GeoTIFFNoCompDefault = 69

Default GeoTIFF exports to no compression

GM_MiscOpt_MeasureWholeNumbers = 73

Force measurements to use nearest whole number (integer) value

GM_MiscOpt_ShowSegLensOnMap = 74

Label the length of each line segment on the map.

GM_MiscOpt_ShowSegBearingsOnMap = 80

Label the bearing of each line segment on the map.

GM_MiscOpt_CheckBinarySTL = 81

Check ‘export binary STL’ option on export options dialog

GM_MiscOpt_DontCopyErrorToClip = 82

Don’t automatically copy error messages to the clipboard

GM_MiscOpt_LoadExifJpgAsImage = 83

Ignore EXIF position data in JPG files and load them as images instead

GM_MiscOpt_DontAppendGridUnits = 84

Don’t append unit labels (like ‘m’) to projected grid line labels

GM_MiscOpt_DisableCustomFileSave = 85

Disable the save of custom features to files on shutdown, like custom_datums.txt, etc.

GM_MiscOpt_OnlySnapToPoints = 88

Only snap to point features by default

GM_MiscOpt_SnapExportToSpacing = 89

Snap exports to nearest sample spacing boundary

GM_MiscOpt_S57ShortAttrNameVal = 90

Use short attribute names and raw values in S57 attribute list

GM_MiscOpt_ElevCropAreaBoundsGrid = 91

When cropping an elevation export to an area, treat the area bounds as grid cell and not visual bounds

GM_MiscOpt_RectifyNo2ndDegPoly = 93

Don’t switch to 2nd degree polynomial rectification method for 6+ control points

GM_MiscOpt_ScaleElevShaderToView = 94

Scale elevation shader to just the elevation values that are currently in view

GM_MiscOpt_GPSUseShaderForVessel = 95

Use the current elevation shader and GPS elevation to color the GPS vessel

GM_MiscOpt_GPSUseShaderForTrack = 96

Use the current elevation shader and GPS elevation to color the GPS track

GM_MiscOpt_OnlineExportZoomSameAsDraw = 98

When exporting from an online source, use the exact same logic to select the zoom level as is used during draw

GM_MiscOpt_RestoreLastMapLayout = 99

Restore the last used map layout between sessions rather than just through workspaces

GM_MiscOpt_HideStyleAttr = 101

Don’t display any style attributes that are included with features at load time

GM_MiscOpt_KeepEntireClippedFeature = 102

When exporting cropped to a polygon, keep the entire area/line if it overlaps crop areas at all

GM_MiscOpt_MSSQLUseGeometryColumns = 103

When importing from MS SQL Server, use geometry_columns table to get list of spatial tables

GM_MiscOpt_DontPrependGroupsToLayerNames = 105

Don’t prepend layer group names to layer names in layer selection list in feature edit dialog

GM_MiscOpt_OnlineTilesSaveWorldFile = 107

Automatically create world files and PRJ files for downloaded online tiles. Bug 15140

GM_MiscOpt_DontPreventLabelCollisionsAcrossLayerGroups = 108

Don’t prevent the collision of labels across layer group boundaries when drawing and labeling each vector layer separately rather than all at once.

GM_MiscOpt_PdfUseOldRenderer = 109

Use the old GDI+ render engine for PDF display on load rather than new DPLR (QuickPDFRenderer.dll) rendering engine. Can fix issues with display of some files that new engine doesn’t show correctly.

GM_MiscOpt_DontSaveViewLayoutToGMW = 110

If set, don’t save or restore non-default multi-view layouts to/from workspace files

GM_MiscOpt_DontShowPerpProfileHelpTip = 111

If set, don’t show the instructional tip when initially adding a feature for extraction on the path profile control

GM_MiscOpt_GPSStartTrackingAtStartup = 112

If set, GPS tracking will attempt to start when the application initially starts

GM_MiscOpt_RenderAutoCropPolyOnMap = 113

If set, render automatic crop polygons (PDF, BSB, etc.) on map when present. Use for debugging crop boundaries.

GM_MiscOpt_ControlCenterReverseOrder = 114

If set, the layers in the Control Center will render with the top displayed layer as the first item and proceed down the draw stack from there.

GM_MiscOpt_DontCenterMapOnSelVertex = 115

If set, we will NOT center the main map view on the selected vertex when clicking on it on the Feature Vertices dialog

GM_MiscOpt_ReformatDbfNumbers = 116

If set, we will reformat any DBF file Number fields in scientific notation to a prettier format if in a normal range (i.e. no huge exponent)

GM_MiscOpt_OverviewDrawLabels = 117

Indicates whether or not to draw feature labels in the Overview Map window

GM_MiscOpt_OverviewTrackVisibleLayers = 118

Indicates whether or not the overview window bounds will include only visible layers

GM_MiscOpt_DisableScriptRunCommand = 119

If set, the RUN_COMMAND script command will not be allowed to run (Bug 20859). Should NOT be able to change this from a script.

GM_MiscOpt_DisplayLatLongPadding = 120

If set, the Lat/Long values displayed in the status bar will be zero padded (lat = DD, long = DDD)

GM_MiscOpt_OverlapFakePosRasterLayers = 121

When loading image layers and faking the location for display, should we draw them on top of each other or next to each other?

GM_MiscOpt_GridRemoveTrailingZeros = 122

Remove trailing zeros on grid coordinate labels

GM_MiscOpt_HideSelFeatures = 123

If set, selected features should not be drawn

GM_MiscOpt_LidarUpdateRetCountOnDelete = 124

Should we update the return count and number for Lidar points when deleting from a multi-return pulse?

GM_MiscOpt_DefaultUserCreatedLayer = 125

Make the old User Created Features layer the default.

GM_MiscOpt_DefaultUseDisplayProjection = 126

Use the current display projection instead of asking user for one when creating layers

GM_MiscOpt_DisplayTimesAsUTC = 127

Display vertex timestamps using UTC rather than local time (Bug 26506)

GM_MiscOpt_UseUserDefinedAnimationTime = 128

Use the default total animation time when determining animate frame update rate.

GM_MiscOpt_NoLayerSaveWarning = 131

If set, don’t show warning asking if yo want to save modified layer before closing

GM_MiscOpt_NoLayerReorderWarning = 132

If set, don’t show warning when reordering layer around a grouped layer

GM_MiscOpt_LidarSaveRetCountUpdatedPts = 133

If set, save a debug layer with all Lidar points that had their return count updated due to deletion (used for testing GM-10838)

GM_MiscOpt_SnapToLidar = 134

If set, snap to Lidar points when digitizing

GM_MiscOpt_DGNImportByLevel = 135

When importing DGN, split features into GM layers by DGN Level

GM_MiscOpt_DWGImportByLayer = 136

When importing DWG/DXF, split features into GM layers by DWG/DXF layer

GM_MiscOpt_XYZLoadAsLidarCloud = 137

If set XYZ ascii file will be loaded as a Lidar point cloud

GM_MiscOpt_UpdatePicturePointExifOnMove = 138

Update picture point image file EXIF if point is moved

GM_MiscOpt_BackupPicturePointImageOnUpdateExif = 139

Create backup when modifying picture point image file EXIF

GM_MiscOpt_GeoTIFFExportOverview = 140

Export overview with GeoTIFF

GM_MiscOpt_DWGUseLegacyImporter = 141

Use the legacy importer for DWG files (convert to DXF, then import with the legacy DXF importer)

GM_MiscOpt_DXFUseLegacyImporter = 142

Use the legacy importer for DXF files

GM_MiscOpt_DrawFatRoads = 256

Draw roads with fat style when zoomed in

GM_MiscOpt_LinearMeasureUnits = 257

Linear measurement units (value is GM_LinearUnits_t8 type)

GM_MiscOpt_AllowUnlimitedECWExportSize = 258

Allow ECW exports greater than 500MB uncompressed. You must have the appropriate license from Erdas to do this.

GM_MiscOpt_SetVectorExportElevUnits = 259

Specifies the elevation units to use when exporting 3D features with per-vertex elevations or associated single elevation values (value is GM_ElevUnits_t8, but must be meters or feet)

GM_MiscOpt_PositionDisplayFormat = 260

Position display format (value is GM_PosDisplayFormat_t8 type)

GM_MiscOpt_AreaMeasureUnits = 261

Area measurement units (value is GM_AreaUnits_t8)

GM_MiscOpt_VolumeMeasureUnits = 262

Volume measurement units (value is GM_VolumeUnits_t8)

GM_MiscOpt_SetDefaultFontCharset = 263

Sets the default font character set (value is Windows character set enumeration, like OEM_CHARSET, RUSSIAN_CHARSET, etc.)

GM_MiscOpt_ElevDispExpUnits = 264

Sets the default elevation display/export units (value is GM_ElevDisplayUnits_t8 type)

GM_MiscOpt_SetLogLevel = 265

Sets the error/debug log level (value is GM_LogLevel_t8)

GM_MiscOpt_SetLogFilename = 266

Sets the log filename (value is str) - Use GM_SetMiscOptionEx

GM_MiscOpt_SetTimingsFilename = 267

Sets the filename to log detailed timings to (value is str) - Use GM_SetMiscOptionEx

GM_MiscOpt_SetTempFolder = 268

Sets the base temporary file path (value is str) - Use GM_SetMiscOptionEx

GM_MiscOpt_GPSCenterOnVehicle = 269

Automatically center the display on the GPS location

GM_MiscOpt_GPSOrientTrackUp = 270

Automatically rotate the display so the GPS heading points directly up

GM_MiscOpt_CenterOnTargetPoly = 271

Automatically center the display on the GPS/video target polygon (Aerial Filmworks extension)

GM_MiscOpt_VideoCenterOnVehicle = 272

Automatically center the display on the video playback location

GM_MiscOpt_VideoOrientTrackUp = 273

Automatically rotate the display so the video playback heading points directly up

GM_MiscOpt_BearingSense = 274

Bearing sense (i.e. True North, Mag North, Grid North) (value is GM_BearingSense_t8)

GM_MiscOpt_SetLidarDrawMode = 275

Sets the global Lidar draw mode used when Lidar module active (value is GM_LidarDrawMode_t8)

GM_MiscOpt_SetDefaultProjection = 276

Sets the default projection to use at startup (or None to reset) (value is GM_Projection_t*)

GM_MiscOpt_Invalid = 0xFFFFFFFF


GM_MiscOpt_IncludeDatumXFormInPRJ = GM_MiscOpt_IncludeDatumXFormAndEpsgInPRJ

Renamed value defined for backwards compatibility


Define misc. opt values. Pass to GM_SetMiscOption

GM_MiscOptVal_Off = 0

Don’t set option

GM_MiscOptVal_On = 1

Set option

GM_MiscOptVal_Toggle = 2

Toggle option


Types of progress reported through GM_ProgressCallbackFunc


Progress has started


Status string updated


Percent complete updated


Operation has completed


The device context for a draw has been updated




Type to use for optional prompt when you want to specify whether to show a prompt or not and if it has already been shown, the value to use. The upper 2 bits are used for state to control whether or not the prompt should be shown (and if so has it already). The lower 30 bits will be the prompt return value, like IDYES, IDNO, OR IDCANCEL.

GM_Prompt_ShowPrompt = 0x80000000

Show the prompt

GM_Prompt_AlreadyShown = 0x40000000

The prompt has already been shown


Special layer pointers for list item data. All are odd numbers so that they will never be a real pointer value.

GM_Layer_AddToUserCreated = 1

Add feature to User Created Features layer

GM_Layer_MultipleSelectedParents = 3

Multiple layers selected for selection that allows one layer

GM_Layer_CreateNewLayerParent = 5

Create a new layer for for feature

GM_Layer_MapLayoutLayers = 7

Represents map layout layers (scale bar, legend, etc.)

GM_Layer_GPSLayers = 9

Represents GPS position and track layers

GM_Layer_NewLayerFromFile = 11

Load a new layer from a file

GM_Layer_NormalPtr = 0xFFFFFFFF

Special value for normal layers when stored as a type

GM_Layer_MinSpecialLayerPtr = GM_Layer_AddToUserCreated

GM_Layer_MaxSpecialLayerPtr = GM_Layer_NewLayerFromFile