SL-GMS C++/Net Features and Functionality
Nodes and connectors can be instantiated automatically from a database or manually from a palette. Node types can be created in the SL-GMSDraw Dynamic Graphic Editor, defining graphical appearance, dynamic behavior, connection points, and user interaction. A variety of connector appearances are available that can be dynamic as well as selectable for user interaction.
Because nodes are highly customizable, designers have complete freedom in creating the look and feel of the user interface. Nodes can have any appearance and can automatically change text, color, size, visibility, as well as a wide variety of attributes to indicate node status. User input is also completely customizable, for example: drill down to new views on left mouse click, property pages on right mouse click, and tool tips on mouse movement.
Connectors can be customized to allow for changes in graphic attributes to indicate things like traffic load or connection status. User input is also customizable on the connectors.
Individual SL-GMS models that result from the conversion of the raw data are organized into layers. In addition to such pre-defined base layers, developers can also create their own layers that contain icons and connectors that represent different types of application-specific information such as a network node or a network connection.
A map is then composed of individual layers that are displayed on top of one another in a window. A layer configuration file can be used to define which of the available layers are grouped into a map and displayed in a window. An application can display one or more windows, and each window can display its own set of layers. The layer configuration file defines the attributes of each of the layers at start-up, but attributes such as visibility, scale factors, and zoom factors can be edited by the user at run time. This allows for both manual and automatic "decluttering," that is determining the visibility of specific layers within the map.
The basic SL-GMSRuntime Library is excellent for the management of many dynamically changing data variables and the associated graphics in typical process monitoring and control applications. However, for operator stations in network management systems, there is a requirement for specialized functionality and high-performance to access or display very large amounts of information, overlaid onto complex map backgrounds.
C++/Net provides this capability by managing potentially thousands of dynamic icons overlaid on maps which may be zoomed, panned, and automatically decluttered. Special program techniques are used to control visibility and appearance of these graphics symbols in order to achieve maximum flexibility and performance. Extensive and sophisticated examples are provided with the system that show how to construct a Network Management application. These demonstrations can be used as a starting point for building complex user applications.
An application using C++/Net can contain multiple windows and each window displayed on the screen can be defined. These windows can contain scroll bars, toolbars, and overlays. The map configuration file defines the attributes of each window, such as its size and location on the screen, as well as the name of the layer configuration file that defines which layers comprise a particular map. The map configuration file defines the attributes of each of the windows at start-up, but any number of additional map windows can be created by the user or the application at run time.
Edit operations may be performed at run time by the operator. Icons may be selected from palettes, added to a map background, and the application database updated. They may be moved or deleted, with corresponding changes to the database.
These capabilities can be achieved using functions provided within the Network Mapping library itself or, as an alternative option, the full capability of the SL-GMSDraw Dynamic Graphic Editor can be linked in to provide extensive edit functions, including alignment, ordering, undo, redo, etc.
An application using SL-GMS offers complete control over editing operations and may allow or disallow any change to the graphic display elements, such as icons, depending, for example, on operator clearance.
The basic SL-GMSRuntime Library is highly optimized for performance and flexibility. It provides many different zoom and pan interaction modes, including a simple pan, grabber pan, continuous pan and zoom, scroll bar handling, and many others.
C++/Net adds special features, such as map tiling and run time optimization of graphics objects to provide the maximum performance possible for complex applications requiring fast zoom/pan behavior.