OmniModeling: Sketching on GMF
This is a normal GMF generated GEF editor with Square, Triangle and Connection tools.
I’d added another tool called Sketch on the palette, so at this point I’m able to feedback to the user the sketch being performed, and detect what is meant by comparing the sketch with a using the Levenshtein algorithm for string distance. I’m also working on a Multi-agent approach for both recognition and learning of sketches.
So in a rough way, GMF provides the ability for a user to create/edit/view a XML model containing Squares and Triangles (in this case) but in a graphic way. What OmniModeling tries to accomplish is to add another layer on top of this funcionality and let the user draw the model freely, by hand.
The next step is not only to recognize the shape, but grasp the size of the element being added (by comparing distance between corners maybe) and set it automatically.