Ticket #3120 (closed: fixed)

Opened 9 years ago

Last modified 5 years ago

MVP in VatesAPI

Reported by: Owen Arnold Owned by: Owen Arnold
Priority: major Milestone: Iteration 29
Component: VATES Keywords:
Cc: Blocked By:
Blocking: Tester: Janik Zikovsky

Description

vtkRebinningCutter is sprawling too rapidly. This is quickly going to get unmanageable unless something is done about it now. Paraview plugins should be 'stupid', at the moment they contain and use a large amount of domain knowledge.

Fix is to fully implement MVP pattern for this layer. Push domain knowledge down into the VatesAPI and beyond, where it belongs.

Change History

comment:1 Changed 9 years ago by Owen Arnold

(In [12291]) re #3120. Working replacement produced in parallel to existing. Next step will be to remove RebinningCutter and have vtkRebinningCutter realize MDRebinningView.

comment:2 Changed 9 years ago by Owen Arnold

(In [12292]) re #3120. Fix 2 warnings and one minor error.

comment:3 Changed 9 years ago by Owen Arnold

(In [12294]) re #3120. Should fix GCC include error and also GCC initialization warnings.

comment:4 Changed 9 years ago by Owen Arnold

(In [12295]) re #3120. Should fix GCC include error.

comment:5 Changed 9 years ago by Owen Arnold

(In [12296]) re #3120. Fix outstanding GCC warnings.

comment:6 Changed 9 years ago by Owen Arnold

(In [12338]) re #3120. Now RebinningCutter stack is MVP. MDRebinningView realized by vtkRebinningCutter via compile-time polymorphism, because paraview does some magic while preprocessing public base classes, so cant use runtime polymorphism.

comment:7 Changed 9 years ago by Owen Arnold

(In [12339]) re #3120. Minor fix.

comment:8 Changed 9 years ago by Owen Arnold

(In [12340]) re #3120. Fix tests.

comment:9 Changed 9 years ago by Owen Arnold

(In [12346]) re #3120. Extend documentation.

comment:10 Changed 9 years ago by Owen Arnold

(In [12351]) re #3120. Clean out old types.

comment:11 Changed 9 years ago by Owen Arnold

(In [12527]) re #3120. Fix error which prevented dynamic selections.

comment:12 Changed 9 years ago by Owen Arnold

(In [12776]) re #3120. Fix. Where logic is dependent on the outcome of more than one view change, it is necessary to delay the rebinning logic/setup until PV has finished updating all setters.

comment:13 Changed 9 years ago by Owen Arnold

(In [12777]) re #3120. Fix. Where logic is dependent on the outcome of more than one view change, it is necessary to delay the rebinning logic/setup until PV has finished updating all setters. Missing change.

comment:14 Changed 9 years ago by Owen Arnold

  • Status changed from new to accepted

comment:15 Changed 9 years ago by Owen Arnold

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:16 Changed 9 years ago by Owen Arnold

(In [12831]) re #3120. Fix. If the time is reset after integration, can get into a state where there is effectively no time dimension, but time information is attempted to be extracted. Causes invalid read -> crash.

comment:17 Changed 9 years ago by Owen Arnold

(In [12833]) re #3120. MDEvents put into plugins directory of MantidPlot as part of wxs script. This has been verified to work locally. Now enables Vates package to work fully after install. Previously complaining due to missing dependent library.

comment:18 Changed 9 years ago by Janik Zikovsky

  • Status changed from verify to verifying
  • Tester set to Janik Zikovsky

comment:19 Changed 9 years ago by Janik Zikovsky

  • Status changed from verifying to closed

Comparing the older versions of vtkRebinningCutter and current versions with MDRebinningPresenter, it looks like the MVP pattern was well implemented. Nice stuff, good code separation!

comment:20 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3967

Note: See TracTickets for help on using tickets.