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
item | description | who | status |
---|---|---|---|
1 | move 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) | alan | closed |
2 | Move ControlExecutive out of hello eventrouter and put in base class, and add a protected method to base to get current params | alan | closed |
3 | Move VizWinMgr out of hello eventrouter into base class, and add protected method to base class to signal need for rendering | alan | closed |
4 | Remove use of global DataStatus variable from params class specializations by adding an explicit SetDataMgr method, or passing DataMgr in as arg. to Validate() | alan | closed |
5 | move boiler plate from hellorender:_paintGL() method to base class | alan | closed |
6 | Follow error policy in hellorender:_paintGL() and elsewhere as needed; methods that return a -1 must report an error. | alan | closed |
7 | remove global variable DataStatus from getGrid, pass in DataMGr as arg | alan | closed |
8 | fix bug in hello:: paintGL - glyphs aren't drawn a correct locations with sphere data | alan | closed |
9 | Send pointer on error handling policy to scott and alan | jc | closed |
10 | clean up renderer and vizwinmgr base classes for future discussion on OpenGL | alan | closed |