Date

Jul 10, 2015

Attendees

John Clyne, alan, scott

Notes

We reviewed the "hello world" renderer, and discussed the importance of avoiding use of global variables (e.g. DataStatus, ControlExec). In some cases this would require substantial architectural changes and is not practical. At the very least, however, global variables should not be exposed in classes that we expect 3rd party developers to implement (e.g. specializations of the params, renderer, and eventrouter class).

 

Having event routers invoke rendering is problematic. Ideally they would simply indicate that rendering was required, and the VizWinMgr would then trigger rendering. This does not seem possible within the current Qt framework without substantial changes to the slot and signal mechanism. A compromise would be to make   the VizWinMgr a private member on the eventrouter base class.

 

John explained the distinction between error logging (recording an error), and error reporting (notifying the user of an error). The former is performed with MyBase::SetErrMsg() in accordance with the policy described here. The latter requires further discussion

Action Items

itemdescriptionwhostatus
1move boiler plate from hello eventrouter updateTab, reinitTab, and confirmText methods to base class, and introduce protected, pure virtual methods on the base class to invoke the specializations (as is done for _paintGL() method on renderer class)alanclosed
2Move ControlExecutive out of hello eventrouter and put in base class, and add a protected method to base to get current paramsalanclosed
3Move VizWinMgr out of hello eventrouter into base class, and add protected method to base class to signal need for renderingalanclosed
4Remove use of global DataStatus variable from params class specializations by adding an explicit SetDataMgr method, or passing DataMgr in as arg. to Validate()alanclosed
5move boiler plate from hellorender:_paintGL() method to base classalanclosed
6Follow error policy in hellorender:_paintGL() and elsewhere as needed; methods that return a -1 must report an error.alanclosed
7remove global variable DataStatus from getGrid, pass in DataMGr as argalanclosed
8fix bug in hello:: paintGL - glyphs aren't drawn a correct locations with sphere dataalanclosed
9Send pointer on error handling policy to scott and alanjcclosed
10clean up renderer and vizwinmgr base classes for future discussion on OpenGLalanclosed