Goals Summary:

The list below summarizes 3.x refactoring goals. Detailed description of these goals is available from: 3.0 Refactoring Goals.

 

3.1.1: Reuse GUI components where appropriate to improve consistency of look and feel of interface

3.1.2: Simplify the GUI: address usability issues arising from GUI complexity (too many buttons)

3.13: Adapt consistent error handling mechanism that avoids current problems such as too many popups.

3.1.4: Improve rendering control: currently there is no way to control when a re-render is triggered

3.1.5: Reduce/eliminate startup delays when working with large data or slow file systems

3.2.1: Facilitate addition of foreign data importers into vaporgui via the DataMgr

3.2.2: Facilitate addition of new renderers and associated GUI control

3.2.3: Facilitate the development of new OpenGL Shaders

3.2.4: Facilitate development of alternate UIs (e.g. scripting, web-based)

3.2.5: Facilitate GUI development by providing a GUI toolbox for complex and common interaction widgets

3.3.1: Native support for more general structured grids (e.g. curvilinear), and remove restriction that all data must reside on a single grid

3.3.2: Native support for unstructured grids (e.g. MPAS, ICON)

3.3.3: Enhance VDC to better support CF compliant data

3.3.4: Remove restriction that only single data set may be loaded at one time

3.3.5: Support rendering spherical data without projecting to Cartesian space

3.4.1: Provide centralized management and usage policies for OpenGL, and higher level drawing abstractions.

3.4.2: Improve code reuse and eliminate multiple implementations of common functions

3.4.3: Eliminate unnecessary task-level parallelism in GUI (e.g. animation support)

3.4.4: Improve code maintainability: remove dead code, better document, better adherence to C++ best practices

 

 

Goals Status

 

ItemDesc

prototype

deliverable

3.0 deliverable?StatusNotes
3.1Improving Usability    
3.1.1Reuse GUI componentsNYIn progress 
3.1.2Simplify GUIYYIn progress 
3.1.3Error handlingNYIn progressNeed to incorporate into renderers. Elsewhere? Need to address user notification
3.1.4Rendering controlNYIn progress 
3.1.5Startup delaysN??? 
3.2Extensibility    
3.2.1foreign dataYYIn progressRefactored DataMgr provides virtual class for developing new readers
3.2.2new renderersYYIn progress

Need to review renderer class API

Need to support GUI extensions

3.2.3OpenGL ShadersNNNot started 
3.2.4enable alternate UIsYYIn progressControlExec provides primary interface for UIs
3.2.5GUI toolboxNYIn progress 
3.3Limitations    
3.3.1general structured gridsNNIn progress

Support added in DataMgr and VDC

DVR and Iso renderers need support added

3.3.2unstructured gridsNN  
3.3.3CF compliant dataYYIn progressVDC complete. DataMgr and renderer dev underway
3.3.4single grid restrictionNNIn progressDataMgr defined, implementation underway
3.3.5

rendering spherical

data

NN  
3.4Maintainability    
3.4.1OpenGLNNNot started 
3.4.2code reuseNYIn progress 
3.4.3task level parallelismYY?? 
3.4.4code maintainabilityNYIn progressMostly focused on APIs supporting 3rd party extension
  • No labels