Dynamic heads up display


Purpose
This sample demonstrates a combination of the Dynamic Display application programming interface (API) drawing and pure OpenGL drawings in the same tool. The sample shows the map's azimuth as a heads up display (HUD), which updates automatically when the map rotates.
When you are rotating the map, the numbers showing in the HUD are different than the numbers reported by the rotation tool, because the reported map rotation is the mathematical angle, while the HUD shows the angle from the north (the map's azimuth).

How to use

See How to use ArcGIS samples for help on compiling, setting up the debugger, and running the sample. If the sample has associated data, you will find that the sample's zip file includes a "data" folder alongside the language folders. However, you will need to update the sample to point to the location of the data once you have extracted all the files.

  1. Start Visual Studio and open the solution.
  2. Build the solution to make the DynamicDisplayHUD class library.
  3. Use this command in an application with a MapControl and a ToolbarControl, such as the MapControlApplication template included with the Visual Studio integration.
  4. Add both commands to the ToolbarControl. The commands can be found in the .NET Samples category with the names, Dynamic HUD and Toggle dynamic mode.
  5. Run the application, add, then click the Toggle dynamic mode command to switch into dynamic mode.
  6. Click Dynamic HUD to add the HUD to the map.
  7. Use the rotation tool to rotate the map (the HUD changes while the map rotates).

DDHUDCmd.cs Implementation file for the Dynamic Display HUD class.
ToggleDynamicModeCmd.cs Command to switch on and off dynamic mode.
OpenGL_GL_v4.cs Wrapper class for OpenGL GL library.
OpenGL_GLU_v4.cs Wrapper class for OpenGL GLU library.
OpenGL_WGL_v4.cs Wrapper class for OpenGL WGL library.
Download the C# files

Download the files for all languages

See Also:

Dynamic display
Sample: Dynamic display compass
Sample: Dynamic display layer
Sample: Dynamic logo
How to create a dynamic glyph from a marker symbol




Additional Requirements
  • This sample uses third-party wrapper classes only available in C#; therefore, there is no VB .NET version.

Development licensing Deployment licensing
Engine Developer Kit Engine
ArcGIS for Desktop Basic
ArcGIS for Desktop Standard
ArcGIS for Desktop Advanced