Thursday, March 26, 2009

Line in 3D and other changes

Actions in 3D passed a big refactor that make possible adding 3D shapes based on 3D clicks. And the code nicely remains the same when is possible like the code in 3D.

What does accomplish?

The modeller component defines inputs and an action may connect optionally to one or more inputs. Second thing, is that on top of inputs, there can be build a concept named pipe.

What is a pipe? Is an input on front of other input. The 3d coordinate is for instance translated from a 2D coordinate, an OpenCascade view and a plane that is projected the mouse.

What brings from the level of future code on matter of usage? By using pipes, it is easy to insert solver without making over-design or change the code or dependencies. Also, it does not make a mess in case that one action, like a simple view action (Fit All, or Top view) to interpret the mouse in 3D. Also, by directly stating the dependencies, will make actions to not modify the components that don't have sense. In the past a Zoom action may be able to change the document, and may be not wanted. A future Save action may change the document and the view, but not relate on mouse, etc.

Based on that, after a review, most probably the actions will be more unified, and for sure the code is in the last straight to work multi-clicks (as is intended for this iteration).

No comments: