Date

06 March 2014

Attendees

 

Notes

John proposed the following changes to the Params class and related documentation.  Alan's responses are indicated below:

The Params class Doxygen  and related classes should indicate instructions for Params implementers and application developers.  Done.

There should be explanation of terminology such as instances, visualizers.  Done.

Params::Validate should include a description.  Done.

GetInstanceIndex()  was removed from the public API because implementers don't need to use or implement it.

The various Params::CaptureSet methods should be protected.  Done.

The deepCopy() method was removed from the public API because implementers don't need to use or implement it.

Params::SetLocal() was overridden for RenderParams, not virtual so implementers don't need to see or override it.

ControlExecutive::GetCurrentCommand() was removed, replaced by CommandExists().

Various methods that return string and double* were modified or eliminated.

The Command::Undo() and Redo() methods currently return a Params* which we would like to eliminate.  However, the Params* argument is currently used to determine which visualizers need to be updated after the Undo or Redo.  The Params* was changed to const Params* but not eliminated.

John asked if the various Params methods that set or clear bypass flags could be moved to the corresponding Renderer.  The problem is that clearing bypass flags should be triggered by issuing appropriate SetValue's on the corresponding Params instance.  If the bypass flags were moved to the renderer, they could not be referenced from the Params library unless we provided a callback mechanism.  So these were left as is.

John asked if we can eliminate Params::DirtyFlag . It is clear that it could be left to Params implementers to build customized methods to identify particular changes.  The dirtyFlag code was eliminated.  However, since we haven't yet implemented any Params classes with a need for selective invalidation we may decide to resurrect this code at some later date.  We should remember that the dirtyFlag can be restored by going back to the earlier version of ParamNode.h and ParamNode.cpp.