|
|
Visualization EXtension Engine (VXE)
The Visual Extension
Engine is application independent software designed to "extend" the
visualization capabilities of simulation applications. VXE allows a user to
examine data represented with a graphical plot, visualize the plot data with 3-D
"plug-ins", or both, allowing a visual representation of how data affects the
outcome of the system.
VXE Architecture

2D Plotting
Data is imported into the VXE program by
sets of formatted data, known as streams. VXE can receive streams in one of two ways:
- Off-line: Precomputed
data can be transferred into the VXE system via data files.
- Run-time: Simulation Applications can communicate data to VXE while they are
running.
How this data is used is determined by the plug-ins. Streams remove data acquisition responsibilities from the VXE
plug-ins and they allow the "number-crunching" engine and the visualization
system to run on separate machines.
Off-line streams
A file containing streams has a special format, so that VXE can determine what data
corresponds to which stream. The layout of the text file is not immediately ovious by
opening the file in a text editor, but when the file is opened in a spreadsheet program,
the layout becomes much clearer.
X_Translation |
Y_Translation |
Z_Translation |
Car_X_Rotation |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0.1350337 |
0.0278657 |
0 |
0 |
0.2712308 |
0.2001622 |
0 |
0 |
0.3835038 |
0.3157064 |
|
Run-time streams
Simulation applications can transfer to data to VXE in either of two ways:
- Output only: These data
streams represent the output of the simulation application and input to VXE.
This method of receiving streams can be considered the typical method of
run-time streams.
- Input/Output: These data streams allow the variables they represent to be
modified by either the simulation application or VXE. This is possible because of the
implementation of bi-directional
communications in VXE v.2.0 and above. These types of streams allow interactive
plug-ins to be created, where simulation data can be based on the user's interaction with
the visualization.
The 2D Plotter has features including, but not limited to:
New features in VXE v.2.0 for WinNT:
Improved Communications
The ability to communicate with other programs is one of VXE's most important
attributes. Its cross-platform compatibility allows a solver on a NT workstation to
communicate with a visualization system on a UNIX workstation, and vice versa. Two
improvements in communications come with VXE v.2.0: Bi-Directional Communication and
Remote Procedure Calls.
Bi-Directional Communication
Bi-Directional communication allows for synchronization of the numerical
solver and the visualization system by providing real-time visualization data across the
network.
- Users can change simulation parameters from the
visualization interface which allows sophisticated, customized input
mechanisms for interactive simulations.
- Also, bi-directional communication allows computational plug-ins to be created which can
provide feedback to active simulations.
|
Remote Procedure Calls(RPCs)
Remote Procedure Calls allow for high speed data transmission between the
solver and the visualization system.
The traditional "sockets" method sends data byte by byte. RPCs allow the data to
be sent either byte by byte, or it can send "chunks" of data across the
network.. This method of mass data transfer is what provides the increased performance in
the speed of the network communication. |
3D System
The 3D system allows users to visualize data streams with OpenGL models. The models
allow users to represent data in ways that plots cannot. It has OpenGL rendering controls
such as wire frame, face culling, etc., 3D manipulation, and 3D user navigation. One of
the main advantages of the 3D system is that it is designed in such a way that anyone can
create their own visualizations. This is done by the use of plug-ins.
Plug-ins
Plug-ins are C++/OpenGL objects instantiated within VXE which are designed to
visualize data fed to them via specified streams. They can be written as generic problem
solvers or customized visualization objects. Almost anyone can write a plug-in and have
access to the power and flexibility of C++/OpenGL for visualization, provided that they:
- understand OpenGL
- are familiar with C++
- understand either the
Microsoft Developer Studio environment, or the IRIX equivalent
- are familiar with VTB graphics libraries(e.g. GU, C3DModel, Images, OGLText, etc.) (extremely
helpful, but not necessary)
Plug-in development is made much easier with the Plug-in AppWizard for Developer
Studio v.6.0. which will be available in an upcoming SDK. The AppWizard automates the
following tasks for the developer:
- It creates the workspace needed to build a
plug-in.
- It handles all of the routine code required
including the identification requirements and port specifications.
- It also automates the installation of the plug-in DLL with a post-build batch file.
Plug-ins should be carefully designed so that they can be reused in other
visualizations. As more plug-ins are developed, they can be made available to other
developers and simulationists. Eventually, the growth in the availability of plug-ins
should reach a stage where plug-ins could be "pulled off the shelf" for many
applications.
How do plug-ins work?
Developers specify how many streams are necessary,
then C++/OpenGL code is written that will use the data in the streams to
construct the visualization. Then the plug-in is instantiated in the VXE
system. Next, simulation data streams are attached to the plug-in, then
finally rendering begins.
|
Can they do anything other than drawing?

Of course! In addition to rendering, plug-ins can perform any desired calculations on
the incoming data. With VXE v.2.0 for WinNT, calculated streams can do much of this beforehand and bi-directional communication allows the
plug-ins to return the calculations to the simulation application.
Examples include:
- Electric and magnetic field calculations
- Mechanical motion
- Voltage propagation along transmission lines
|
| Sample Visualizations |
| Magnetic Flux in Airgap of Motor: (3.94 MB) |
|
| Magnetic Field Surrounding Power Cables in Magnetically Permeable
(Steel) Conduit: (2.94 MB) |
|
| Propagation of Electrical transient through Zonal Distribution System:
(3.94 MB) |
|
| Hybrid Electric Car: (3.56 MB) |
|
| Construction of the PEBB: (8.84 MB) |
 |
Documentation:
- Documentation for VXE v.1.1 for IRIX:
- Download vxedoc.zip
(MS Word format) (1.46 M)
- Documentation for VXE v.2.0 for WinNT:
|