Map Drawing

Graphic Elements

Every plug-in that displays graphical elements on the screen is required to return a list of those elements to the WAT. The WAT Glyph that draws these elements will attempt to combine alike elements from the various models into a single image on the screen. For instance, if two reaches exist on the same segment of a stream, the WAT will only draw a single reach. Elements can reference their location by either X-Y coordinates or stream name and stream station, with the latter being the preferred method. The WAT Glyph will have the ability to draw a limited number of elements directly. For plug-ins which require additional elements that are not built into the WAT Glyph, the WAT Glyph will allow those graphic elements to draw themselves on the map. No drawing optimizations will be attempted on these unknown element types.
Element types:

  • CenteredPolygonElement
  • DiversionElement
  • DivertedOutletElement
  • FragilityPointElement
  • IconElement
  • ImpactAreaElement
  • JunctionElement
  • LeveeElement
  • LineElement
  • MapGlyphElement
  • PointElement
  • PolygonElement
  • ReachElement
  • ReservoirElement
  • SegmentedREachElement
  • StreamPointElement
  • StructureElement
  • XSectionElement


All elements of a specific type, from the optimized set, are drawn using the same drawing properties. All ReservoirElements are all drawn the same no matter which model they come from.

Figure 34 Graphic Elements Class Relationship
Graphic Elements also have a drawing hierarchy number, the lowest number will be the element that actually gets drawn on the map panel. In the case where ResSim, HMS and RAS can all have reservoirs, the ResSim reservoir is the most detailed so it should be one drawn (assuming there is a reservoir for each model at the location). Therefore, the ResSim ReservoirElement should have a lower number than the HMS or RAS ReservoirElements.
Reaches are special: The WAT MapGlyph determines the longest reach on a stream and creates a new dummy reach. This dummy reach then holds a List of all the Plug-in reaches. When a right-click or tooltip is called for, the WAT MapGlyph figures out which plug-in reaches are located at that stream station.
GraphicElements will also contain information used by the plug-in to display the editor for that element as well as information for creating the plot and tabulate popup menus. This will keep the WAT from having to constantly contacting the model program to determine what functionality that element has.