Presentation is loading. Please wait.

Presentation is loading. Please wait.

Overview of Vapor GUI 3.0. Overview Current code is “work in progress”: – Demonstration of feasibility of 3.0 API – Needs more work to become a framework.

Similar presentations


Presentation on theme: "Overview of Vapor GUI 3.0. Overview Current code is “work in progress”: – Demonstration of feasibility of 3.0 API – Needs more work to become a framework."— Presentation transcript:

1 Overview of Vapor GUI 3.0

2 Overview Current code is “work in progress”: – Demonstration of feasibility of 3.0 API – Needs more work to become a framework on which we can build 3.0 – Goal was to produce minimal prototype: Only one renderer (Barbs), otherwise missing most of the planned functionality – Code changes all in lib/params, lib/render, and in apps/vaporgui; Makefiles indicate working classes.

3 Params library Params and RenderParams classes: base classes for storing parameters that are used in rendering. Values are set and displayed in tabs. Static methods provide access to all available params instances Each Params instance is associated with XML tree ParamsBase is parent class for representing XML node; ParamNode has functionality to set/get data from XML entries, based on tag. DataStatus class provides repository for commonly accessed information about current VDC Extensibility API (on which this is based) is documented at http://vis.ucar.edu/~alan/extensibility/ http://vis.ucar.edu/~alan/extensibility/

4 Changes made to Params lib for 3.0 Params and RenderParams stripped down to basics of extensibility API, removing legacy methods RegionParams, AnimationParams, ViewpointParams adapted to use extensibility API (XML-based) ArrowParams, Box, glutil kept as-is Datastatus class stripped down Qt dependence eliminated

5 Params: Basic re-structuring still needed for 3.0 support of ControlExecutive API Eliminate any DataStatus functionality that duplicates VDC functionality Load/Save session files support Provide undo/redo queue support in ParamNode class Provide error checking in ParamNode

6 Major work needed in Params for 3.0 prior to release Upgrade all RenderParams (flow, probe, 2Ddata, 2DImage, Model, Iso, DVR) to use extensibility API Implement Visualizer Features as a Params class Upgrade TransferFunction class to use extensibility API Backwards-compatible session file loading Hook in auxiliary support classes, e.g. PythonPipeline, keyframing, geoTiles Modifications to support 3.0 VDC.

7 Render Lib prototype functionality for 3.0 All Qt methods removed from Render lib. Renderer classes (1 per RenderParams class) provide the OpenGL calls necessary to draw in a GL Context. ArrowRenderer class is currently the only Renderer subclass Visualizer class (replaces GLWindow class) is no longer a Qt Widget. Dispatches the rendering under control of the CE, manages GL state; invokes the various renderers, also renders auxiliary geometry Trackball moved to GUI Manips (not yet re-implemented) to be drawn by Visualizer; GUI functionality must be moved to app. ControlExecutive implementation is in Render lib.

8 Render lib work needed Implement renderer classes for DVR, Iso, flow, probe, 2DData, 2DImage, Model Implement auxiliary drawing capabilities (color bars, axis annotation, manip drawing, etc.) in Visualizer class Add support for scene stretching Modifications for 3.0 VDC (multiple grids in scene)

9 VAPOR GUI App for 3.0 Major classes: – EventRouter (one subclass for each Tab; currently animation, region, viewpoint, arrow) – MainForm (main window class) – VizWin (one instance for each visualizer window) – VizWinMgr manages all the visualizers, their connection to Params and Renderers – Trackball will control viewpoint – Manips UI supported in App

10 Changes to 3.0 VaporGUI app Undo/redo queue and associated classes removed VizWin is now a QGLWidget Much of VizWinMgr has been eliminated but still some legacy code remains.

11 Work to do in vaporgui app Clean up all EventRouter subclasses for desired tabs Clean up Vizwinmgr and Vizwin classes Re-implement Manips and Trackball Error-checking and error-response Hook up user preferences


Download ppt "Overview of Vapor GUI 3.0. Overview Current code is “work in progress”: – Demonstration of feasibility of 3.0 API – Needs more work to become a framework."

Similar presentations


Ads by Google