[Soc-2007-dev] Sunday meeting absence: topics for discussion

Levi Schooley levischooley at eaglecom.net
Sat Jun 30 21:07:06 CEST 2007


Since I am not able to attend the Sunday meetings, the following
is meant to be discussed either in my absence during the Sunday
meeting, or using other means/times (irc, e-mail, or the mailing
lists).

Current project status:
I have a working (though crude) bevel modifier, including generic
derivedmesh/bmesh conversion functions. These conversion functions
do not successfully deal with custom data yet. The bevel tool code
currently uses the BMesh API, and as such, is only loosely coupled
with Blender. I have a fairly solid design plan (with the
exception of some questions I had for the editmode tools, listed
below), know the relevant code in Blender, and have a good idea of
the needed algorithms worked out on paper. The design currently on
the wiki page -
http://wiki.blender.org/index.php/User:ReD_Fox/SummerOfCode2007#Implementation_details
- is a bit out of date, and will be updated the beginning of next
week to help with further discussion.


Some specific questions I had:
1. Which functions should go in which files? Specifically,
derivedmesh_to_bmesh, bmesh_to_derivedmesh, editmesh_to_bmesh, and
bmesh_to_editmesh. Or, does it really matter as long as I'm not
too far off? My inclination is to put them with the bmesh code.

2. Is it fine to have the main BMesh code in the blenkernel
directory/lib? If not (and I personally think they should be in
their own dir/lib), I haven't been able to successfully add them
to their own lib (I have tried), so I could use some pointers
about makefiles and such. This may need to be discussed with
Briggs (aka. Geoffrey Bantle, their author).

3. Editmode bevel and offset tools - how do I procede with these
with the event refactor looming on the horizen? Does it need to be
a factor in my decision-making process? If so, to what extent?

4. Since I am using the BMesh API, using conversion functions
between the different mesh types, and, in the case of the bevel
tool, modifying topology, the editmode tools I am creating will
not fit very well into the current Transform() infrastructure. The
major difficulties are a) transferring transformation information
from the BMesh tool, b) deciding whether the transformations
operate on the BMesh or EditMesh data, and c) notifying the
calling function of events (in the case of enabling the user to
modify the topology interactively).
To help overcome these difficulties, I would like to propose two
possible solutions:
1. "Permission" to create my own Transform()-like event loop for
use with the editmode bevel tool. I may possibly need to do
something similar for the offset tool as well. To help justify
this action, I will point out that the edge-split/slide tool is
currently implemented using its own event loop.
2. "Permission" to add a new global var, G.editBMesh, and to
create a new transform context to operate on its data using the
BMesh tool code. NOTE: this was a new idea, I need to research
this more. It may still have the same problems, mainly with
conversion and accessing/restoring original topology.

Please ask if there are any points that need clarification.

Thanks!
Levi 
             


More information about the Soc-2007-dev mailing list