1 / 18

The FalconView Overlay Wizard

The FalconView Overlay Wizard. Presenters: George Menhorn Daniel Longhurst Georgia Tech Research Institute http://www.falconview.org http://www.defense.gatech.edu/. FalconView Overlay Wizard. What is the FalconView Overlay Wizard? Can I start using the tool? FvwWizards

jerom
Download Presentation

The FalconView Overlay Wizard

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The FalconView Overlay Wizard Presenters: George Menhorn Daniel Longhurst Georgia Tech Research Institute http://www.falconview.org http://www.defense.gatech.edu/ FvOverlay Interfaces

  2. FalconView Overlay Wizard • What is the FalconView Overlay Wizard? • Can I start using the tool? • FvwWizards • What is a plug-in overlay? • GetTheSdk FalconView Overlay Wizard

  3. Next Generation plug-in overlays • FalconView 4.2.1+ • Why a “next generation”? • Extended capabilities • Easier to write a plug-in overlay • More efficient • Future proofed • The remaining internal FalconView overlays will be migrated out to plug-ins in 5.1 FvOverlay Interfaces

  4. Overlay Types Configuration File • FvOverlayTypes.xml <OverlayType displayName="Geodata“ iconFile="ovlmgr\geodata.ico" enabled="true“ defaultRestoreAtStartup="false" uid="6EA5B9FC-0344-4f8d-9F2F-F6B1CB0D03D7"> <FileOverlayTypeDescriptor defaultDir="FOLDERID_PublicDocuments\PFPS\data\Geodata" defaultFileExtension=".kml" openFileDialogFilter="KML files (*.kml;*.kmz)|*.kml;*.kmz|GPX files (*.gpx)|*.gpx|ArcInfo (*.E00)|*.E00|GeoRSS (*.rss)|*.rss|GML files (*.gml)|*.gml" saveFileDialogFilter="KML files (*.kml;*.kmz)|*.kml;*.kmz" /> <OverlayFactory overlayClsid="641E4D02-4A04-4315-93F3-F32FBFC85E21" /> </OverlayType> FvOverlay Interfaces

  5. Overlay Objects • IFvOverlay – the only required interface • Read only property for overlay unique id • Read/write property for visibility • Receives overlay event sink • IPropertyNotifySink • IDisplayChangeNotifyEvents • IMapChangeNotifyEvents • Lifetime of object corresponds with lifetime of overlay: Initialize / Terminate FvOverlay Interfaces

  6. File-based overlay types • If a FileOverlayTypeDescriptor is specified in the configuration file, then implementing IFvOverlayPersistence is required • Methods: FileNew, FileOpen, and FileSaveAs • Properties: FileSpecification (read-only), HasBeenSaved, IsDirty, IsReadOnly FvOverlay Interfaces

  7. Overlay Rendering • Implement IFvOverlayRenderer on the overlay object • OnDraw called to render to a surface • Screen • Printer • DIB • Receive current map projection for geographic to projected coordinate system transforms FvOverlay Interfaces

  8. User Interface Events • Implement IFvOverlayUIEvents on the overlay object • Mouse move, mouse buttons down/up, mouse wheel, double-click, and key up/down events • Events are routed from the top-most overlay in the overlay stack to the bottom-most overlay until an overlay handles the event • Implement IFvOverlayUIEventRoutingOverrides to override default event routing behavior FvOverlay Interfaces

  9. Context Menu Support • Implement IFvOverlayContextMenu on the overlay object • AppendMenuItems called when user right-clicks on the map, passed an IFvContextMenu • Call AppendMenuItem passing in a context menu item object • Context menu item object should implement the IFvContextMenuItem interface • MenuItemEnabled • MenuItemName • MenuItemSelected FvOverlay Interfaces

  10. Playback events • IFvPlaybackEventsObserver • Notifications of playback started/stopped, playback time changed, playback rate changed • IFvPlaybackTimeInterval • Used to specify an time interval for overlay FvOverlay Interfaces

  11. Copy and Paste Operations • IFvOverlayCopyPaste • Copy and paste from “clipboard” • Handling dropping of IDataObject FvOverlay Interfaces

  12. Snappable Points • IFvOverlaySnappablePoints • Allow other overlays to snap-to objects in your overlay FvOverlay Interfaces

  13. FalconView 4.2.1 interfaces • Other optional interfaces and their capabilities • Render to the base map IFvOverlayBaseMapRenderer • Enumeration of overlay IFvOverlayElement elements IFvOverlayElementEnumerator • Point Export IFvOverlayExportablePoints • Overlay Type Override IFvOverlayTypeOverrides • Vertical View Rendering IFvOverlayVerticalViewRendererIFvOverlayVerticalViewUIEvents FvOverlay Interfaces

  14. Optional Objects • Editor Object • single object created per overlay type • Manages the editor state, UI, and toolbar • IFvOverlayEditor • ActivateEditor • DeactivateEditor • DefaultCursor • EditorToolbar • OnToolbarButtonClick FvOverlay Interfaces

  15. Optional Objects • Property Page • FvOverlayPropertyPages.xml • IFvOverlayPropertyPage • OnCreate • OnApply FvOverlay Interfaces

  16. Optional Objects • Runtime Enable • Allow runtime disabling of an overlay i.e. Required resources not available (e.g., ArcEngine) • Most overlays will not require this • IFvOverlayTypeRuntimeEnabled • IsOverlayTypeEnabled FvOverlay Interfaces

  17. Optional Objects • File Overlay Type Descriptor • Runtime specification of file specifics • Normally specified in configuration • IFvFileOverlayTypeDescriptor • GetDefaultDirectory • GetDefaultFileExtension • GetFileDialogFilter FvOverlay Interfaces

  18. Optional Objects • Custom Initializer • Optionally implemented to initialize an overlay type during the startup sequence • Unusual object ~ can slow startup time • IFvCustomInitializer • InitializeAtStartup(IFvSplashWnd pFvSplashWnd, IFvOverlayManager pFvOverlayManager) • TerminateAtShutdown() FvOverlay Interfaces

More Related