Improved the modeler so that it provides an Event based interface that allows it to be controlled from outside (the command line can control it). It allows drawing shapes, displaying shapes into the property grid. Modified the current functionality (draw line, draw rectangle, extrude) to work with interface events.
Made the geometric solver an independent module, made a solver pipe that will pass all the mouse points through the solver.
Rearranged the modules so that functionality exposed to plugin developers will be provided as interface assemblies. Implemented a test plugin that registers itself in the View menu and listens to events. This plugin will be developed to have the same functionality as the line drawing tool (the purpose would be to discover the functionality needed by the developers to be exposed).
Will continue working at the geometric solver. At porting the 2D to 3D, the functionality will be changed because the mouse points coordinate conversion from 2D to 3D depends on the plane where the user works. Also the magic points in 3D will be detected in a different way.