Programming in VisualCommanderVisualCommander is an extensible package designed to make it easy for you to add your own code for analysis, simulations, displays or data acquisition. For users on Mac OS X the development environment of choice is XCode. There are 5 different components of VisualCommander that can be customized through writing your own code:
The diagram below illustrates how each of these different components fit together within the overall VisualCommander framework. Data source plugins serve as an interface between various external data sources and the VisualCommander server. The DSim simulation engine serves as a built-in data source. Data from the server is used to drive the data display plugins, which enable you to visualize data in a variety of ways. The raw data can be manipulated via data processor plugins, and the newly derived outputs can also be used to drive the displays.
An overview of the four types of plugins is provided below. Details of their creation is beyond the scope of this help, but can be found in the external programming documentation.
Display Plugins provide visualization of the data from Sessions and can provide control, in the form of Commands, to those sessions. Users can write their own Display Plugins to tailor their visualization to precisely address the problem at hand, in addition to providing customized command input systems. For instance, a display might read data from a joystick to provide flight control commands to an aircraft simulation - or to actual aircraft hardware. All of this customization can be done by the end user, rather than requiring modification to VisualCommander.
Data Processors act on existing Data Points to create new data points within a VisualCommander client. The newly created data points can then be used just as any other Data Point, allowing the results of data analysis to be visualized in the same way that the raw data is visualized. By creating Data Processor plugins, the user can leverage reusable analysis modules appropriate to the problem at hand without either extracting the data into a separate application or requiring changes to VisualCommander itself.
Data Source Plugins provide new ways of getting data into VisualCommander. The possibilities are endless: a Data Source Plugin could run simulations, control test hardware, retrieve data from the internet or command remote systems. The end user can create whatever plugin is necessary to fulfil their needs and be assured that VisualCommander's visualization tools can be leveraged to help manage it.
Data Source Configurators provide a user interface for the configuration of various types of Data Sources. Each Configurator operates on a specific Data Source, and many different Configurators can exist for the same source. When a Session is created, the desired configurator is specified along with the data source type. When the resulting session is then configured, the Configurator's interface is displayed to perform the configuration. By writing Configurator plugins, a user can provide Session setup exactly customized to the user's problem domain, without needing to modify VisualCommander itself.