Well-Formedness of Euler Diagrams
For the Euler diagramming tool I am proposing having different ways in which to constraint the well-formedness rules, having discussed with Chris Roast here is my initial proposal of ideas.
It has been suggested that it might be best to try and have several different ways in which to constrain users to the rules that have been implemented.
The settings for how constraints are enforced will firstly be set via a configuration file created and edited by the client, secondary will be the ability for the end-user to change these preferences via the preferences in the application. There will also be the ability for the client to set a flag that disables the end-users ability to change the setting to another option.
- Nothing at all will be done when a violation occurs for the particular well-formedness rule.
- The end-user will be informed in some manner that a violation of the well-formedness rule has occurred. Possibly via a pop dialog box, or via some kind of on-screen list of current violations.
Snap To Constrain
- This will occur after an operation has completed, for example if this was set with the rule of 'No Tangential Intersections' then after the user had finished drawing or moving a shape and they touched but didn't overlap it would move it slightly away so that a violation didn't occur.
- This will occur whilst the user is trying to perform an operation, in the previous example for Snap To Constrain the user would not be able to get themselves into the situation as with this option enabled the shape would not be allowed to move into a position that violates the rule.