Page MenuHomePhabricator

Geometry CleanUp Reloaded
Closed, ResolvedPublic


Here a little ToDo list, what still should be done:

  • PlaneGeometry: is m_ScaleFactor necessary? Redundant data?
  • Add checks to Set methods (e.g. SetSpacing: Spacing must not be 0,0,0; no negative entrances in Transform (=mirroring); ...)
  • Clean up subclasses (PlaneGeometry)
  • Make Get functions constant (return copy of ITWT, BoundingBox?)
  • Double check, whether virtual functions (SetITWTbyVTK, ...) need to be virtual
  • Write good documentation for PlaneGeometry
  • Check the calls of Modified. Necessary? Too often? Move Modified to TransformHolder?
  • Delete BackTransfom function (--> use WorldToIndex Transform)

...and if somebody is still motivated... 0.5 is always waiting ;-)

Event Timeline

Try to get rid of all Pre/Post functions:

  • PreSetBounds in Plane --> e.g. implement function checkBounds
  • PostInitialize in AbstractTG --> move to Constructor
  • PostInitializeGeometry --> not needed?
  • PostSetExtend in Plane --> not necessary if m_ScaleFactor is removed
  • PreSetITWT in Plane --> e.g. implement function checkITWT
  • PostSetITWT in Plane --> not necessary if m_ScaleFactor is removed
  • PreSetSpacing in Sliced: not quite sure how to solve this yet. Is the SetSpacing consistent with SetITWT in SlicedGeometry anyway?!

User wildes has pushed new remote branch:

wildes added a comment.Jan 7 2015, 4:50 PM

We tried to ensure const correctness for IndexToWorldTransform functions. However, this causes two problems: 1. We need to clone a lot what makes MITK very slow. 2. It is almost impossible to make sure that a transform of a geometry which is changed outside is set again. This happens very often in the code.

Therefore, a quick fix of the const correctness is not possible.

User wildes has pushed new remote branch:


Most things are done, still toDo:

  • PlaneGeometry: Documentation, CleanUp, proper tests (see T14464)
  • Const correctness in Get-functions
  • Mirroring and spacing...
  • 05 trouble

Another thing to do: Geometries are not thread safe at the moment...

kislinsk closed this task as Resolved.May 29 2019, 1:00 PM
kislinsk added a subscriber: kislinsk.

Close as resolved because of last activity was three years ago.