KWWidgets/Projects/3DWidgets/Widgets/ChangingArchitecture
Analysis and overview of existing architecture
Architecture
In order to apply the redesigned architecture regarding the vtk 3D Widgets, I had to first understand the old architecture, then how the new architecture was supposed to work and finally re-write the 3D widgets to match the new architecture.
This I commenced by looking at the vtkSliderWidget and how it interacts with the main classes regarding the restructuring project - the vtkAbstractWidget and vtkWidgetRepresentation classes and their derivatives.
Old architecture After looking at the was the 3D widgets worked under the old architecture, I made my own class diagram to help me understand it (as opposed to just copying the generated diagram from the vtk documentation).
![3DWidgets arch before.jpg](/Wiki/images/1/17/3DWidgets_arch_before.jpg)
New architecture
![3DWidgets arch after.jpg](/Wiki/images/b/bf/3DWidgets_arch_after.jpg)
Analysis and overview of new architecture
Differences between the two architectures
![3DWidgets arch differences.jpg](/Wiki/images/1/1c/3DWidgets_arch_differences.jpg)
Comparing the two architectures
Methodology
- study both architectures
- study source code; vtkBoxWidget (Old) and vtkSliderWidget (new)
- separate source code into new classes
- study events
- compare vtkBoxWidget Old and New
- methods
* added
* removed
* edited - example code
*changes to original
![Class Diagram vtkMyWidget.jpg](/Wiki/images/4/49/Class_Diagram_vtkMyWidget.jpg)