
Hi everyone,
following Gail's example, I would like to post a short note on my progress, too, and at the same time announce version 0.1 of the 3D box tool. :) Well, that's probably too much of a promise. It is _extremely_ limited, the only thing it may be useful for is giving an impression of the envisaged behaviour (also see http://www.rzuser.uni-heidelberg.de/~malbert/core_functionality.shtml ). I'd appreciate comments, although I admit that there is not much to comment on yet. ;)
All you can do at the current stage is create a box in a fixed perspective. No dragging of corner nodes is possible yet, nor of vanishing points (VPs) or perspective lines (PLs), nothing. Although you can of course treat boxes as "normal" groups of paths and edit them in the usual way. However, since currently the transform method is not implemented, you should hit Ctrl+Shift+G and Ctrl+G before doing so (in order to ungroup and regroup the paths representing the faces, which removes the 'sodipodi:type="inkscape:3dbox"' attribute from the group so that it is not recognized as a 3D box any more; this mainly fixes issues with undo/redo).
In the current fixed perspective the edges of the box are drawn along parallel PLs directed towards "infinite" VPs in x-, y- and z-direction. You will notice, however, that as soon as the 3D box tool is activated, three points are drawn on the canvas. They represent "finite" VPs and it is possible to switch between "finite" (i.e., the PLs meet in the respective VP) and "infinite" (i.e., the PLs are parallel) in each direction by toggling the corresponding button in the 3D box toolbar. The VPs will be color-filled when their state is finite. Sorry that they don't disappear again when switching to another tool, but I didn't want to invest a lot of time in making them work better when I need to rewrite the code anyway as soon as they become draggable. BTW, already drawn boxes are not updated live yet, toggling the VPs' states only affects the drawing of new boxes (also note that when the VPs are white they don't affect the drawing of boxes, although they appear on the canvas; this is a bit counter-intuitive when using the tool for the first time).
Since the functionality is so limited I decided to hide the tool's icon for the time being. To make it visible, simply uncomment line #129 in src/toolbox.cpp. You can also change the position/direction of finite/infinite VPs by setting the corresponding values in src/box3d-context.cpp (starting from line #122) and recompiling. Very inconvenient, I know. And if anyone wants to design a *nice* icon for the toolbox, you are most welcome (I haven't invested any time in that so far).
Well, I really hope to make faster progress starting from next week. I have just handed in my Diplom thesis (whose completion took a lot more time than expected) so that I could only work part-time on SoC during the past weeks.
Cheers, Max