[Bf-committers] true edge and face edit modes
Brecht Van Lommel
bf-committers@blender.org
09 Apr 2004 23:30:14 +0000
Hi all,
I will have quite some time to code in the following weeks / months. So
I thought I would just take on this project. I'm posting this to see who
has interest / time / ideas. It's just a rough proposal, on how we could
do it code-wise. It doesn't include any ideas of how to really take
advantage of these modes. It's not perfect, but I thought I'd post
something to maybe get things going.
True Face en Edge Mode:
- Three modes: Vertex, Edge and Face.
- Use same EditMesh data structure, and make it available in all three
modes. Hopefully no or only slight changes will be needed.
- The modes will not be really different internally. A function should
not have to know in which mode it is, unless it wants to offer
different behavior for different modes. There would also be fast
switching: no or at least very little data conversion needed when
switching modes.
- Edit Mode functions will still work while this is WIP, can modified to
have different behavior in different modes later.
- Face Select Mode (and paint) functions will need to be converted
completely, but the functions are not that complicated as far as I've
seen. For some off the more complex ones, it would be best to rethink
to be faster with the new data structures available.
- Need plan to convert code step by step. Keep things 'working' as much
as possible.
Plan:
1. Make EditMesh structure available in Face Select, Paint Mode, don't
disable old data structures immediately.
2. Convert Face Select drawing functions to use EditMesh. Keep old
drawing available somehow, for some time, for next step.
3. Convert Face Select, Paint functions to use EditMesh. While working
on this, the old an new data structure will not automatically be in
sync, but that's why it is possible to draw both data structure.
4. Introduce Edge Select Mode.
5. Make Edge and (Edit Mode ready) Face drawing functions.
6. Adapt Edit Mode functions to work different in different modes, if
necessary (Extrude for example).
All this is quite some work, but not impossible in my opinion.
This might not be the ideal time to propose this, weeks before the next
release and maybe near exams for some. I also know there are also some
plans to move Edit Mode functions to python, and I have not taken them
into account. I simply have no idea how it would all work, or how these
plans would affect this.
I think I could already start on the first steps (merging Edit Mode and
Face Select Mode), in the next weeks. Downloading Wings now to get some
inspiration :).
Any comments?
Cheers,
Brecht