Page MenuHomePhabricator

Implement PlanarFigure for measuring double diameters
Closed, ResolvedPublic

Description

Requirements:

  • Drawing of a line with two control points (first diameter)
  • Optional: drawing of a second line with two control points which satisfy the following conditions:
    • Second line is orthogonal to first line
    • Second line must intersect first line
  • When the first line has been drawn, an infinite transparent line shall be drawn at the position of the mouse to indicate at which position the second line would be put when setting its control points
  • The infinite transparent helper line shall satisfy the same requirements indicated above

Event Timeline

Implemented first version of PlanarCross. The PlanarFigureInteractor and the corresponding state machine needed to be adjusted. This also affects the behavior of other PlanarFigure classes.

Waiting for core change permission to check in code.

[SVN revision 22355]
ENH (#3619): Basic version of PlanarCross. Small adaptations of PlanarFigureInteractor and StateMachine and other PlanarFigure sub-classes. A few code improvements.

[SVN revision 22432]
ENH (#3619): Spatially constrain control points by image bounds

Implemented spatial constraints so that control points remain within image bounds

[SVN revision 22467]
ENH (#3619): Calculation of both longest and short axis diametersCs; correct application of both image boundary and cross spatial constraints to control points

[SVN revision 22468]
FIX (#3619): Make GetNumberOfFeatures() virtual so that it may be overwritten in sub-classes

[SVN revision 22470]
DOC (#3619): Added class documentation

Added feature calculation, Class documentation, code clean-up

Editing of PlanarCross does not work correctly due to missing state in StateMachine: REOPENED

[SVN revision 22492]
ENH (#3619): Update PlanarFigureInteractor state machine with new state for PlanarFigure reset; update BlueBerry state machine with core/code/interactions state machine

[SVN revision 22496]
FIX (#3619): read geometry before control points to prevent crash on
planar figure read.

[SVN revision 22524]
FIX (#3619): Adjust number of points in SetControlPoint()

[SVN revision 22546]
DOC (#3619): Added class documentation

[SVN revision 22757]
ENH (#3619): Add PlanarCross to list of serializable PlanarFigure classes

[SVN revision 22758]
ENH (#3619): Added ResetFigure to PlanarFigure state-machine to allow modifications after figure placement

[SVN revision 22789]
ENH (#3619): Added alternative mode for drawing lines by mouse-drag (instead of mouse-clicks) to PlanarFigure state-machine

[SVN revision 22791]
ENH (#3619): Added alternative mode for drawing lines by mouse-drag (instead of mouse-clicks) to PlanarFigure state-machine

Does not really block, right?