Commentary on View architecture for Custom Views: Difference between revisions
DaveDemarle (talk | contribs) m (→Weaknesses) |
DaveDemarle (talk | contribs) |
||
Line 18: | Line 18: | ||
change to XML parsing to do targetted replacement of parent proxy's subproxies/properties from | change to XML parsing to do targetted replacement of parent proxy's subproxies/properties from | ||
override attribute | |||
client side classes (GLRenderer) different from server (MantaRenderer) | client side classes (GLRenderer) different from server (MantaRenderer) | ||
Line 28: | Line 29: | ||
contained real view is controlled by parent view | contained real view is controlled by parent view | ||
written before xml override, so it used shared properties and dynamic swap at instantaion time | |||
Others?: | Others?: |
Latest revision as of 18:54, 23 April 2010
ParaView 3's view/representation and strategy architecture is a great improvement over ParaView 2's render module architecture. But there is room for improvement, especially regarding the creation of custom views. The following describes what the weaknesses of the current architecture are and how some existing custom views are implemented. The purpose of this page is to tabulating this information so that our next design may be even stronger.
Weaknesses
architecture complex, three independent class hierarchies (proxy definition, proxy, vtk)
architecture not well documented
hard to augment what is there without entirely replacing
parallel rendering, many cases many classes, hard to reuse code
configuration independence hard to replicate
Example Custom Views
Manta:
change to XML parsing to do targetted replacement of parent proxy's subproxies/properties from override attribute
client side classes (GLRenderer) different from server (MantaRenderer)
hacked IceT out to do composite and not use GL
Static Streaming Applications Views:
replacing behavior high up the ViewProxy class hierarchy without breaking them
contained real view is controlled by parent view
written before xml override, so it used shared properties and dynamic swap at instantaion time
Others?: