[Bf-blender-cvs] CVS commit: blender/source/blender/include BIF_editmesh.h blender/source/blender/src edit.c editmesh.c editmesh_lib.c editmesh_mods.c editmesh_tools.c header_view3d.c

Geoffrey Bantle hairbat at yahoo.com
Wed Feb 22 03:17:57 CET 2006


briggs (Geoffrey  Bantle) 2006/02/22 03:17:56 CET

  Modified files:
    blender/source/blender/include BIF_editmesh.h 
    blender/source/blender/src edit.c editmesh.c editmesh_lib.c 
                               editmesh_mods.c editmesh_tools.c 
                               header_view3d.c 
  
  Log:
  [Two Sections here; First is the log that *should* have been included
  to my previous commit (whoops). The second part covers the changes I
  have made to the code since then (all related to merge tools code).]
  
  # Part One: Complete Log for Commit from 2/13/06
  
  -> Upgraded merge tools.
  
  The new merge tools add several options to blenders Merge submenu,
  accessed via the WKEY whilst in Editmode for meshes. The new options
  depend on current mode:
  
  - Vertex mode: "At First" and "At Last"
  
  When choosing "At First" or "At last" it will merge all selected
  vertices at the first or last selected vertex.
  
  (Note: Blender now keeps track of the last and first verts selected in
  editMode (G.editMesh->lastvert and G.editMesh->firstvert
  pointers. This meant additions were made to the undomesh code in
  editmesh.c as well).
  
  - Edge mode: "Collapse Edges"
  
  When choosing this option, Blender examines the current set of
  selected edges and groups them according whether or not they are
  topologically connected. It then goes through each group and merges
  them one by one to a single point.
  
  - Face Mode: "Collapse Faces"
  
  Works the same as "Collapse Edges", only works on groups of
  topologically connected faces.
  
  -> Inclusive selection mode conversion.
  
  This feature extends the ability of blenders selection mode
  conversions. Currently when you change selection modes from a "lower
  order" mode to a "higher order" one (vertex->edge, vertex->face or
  edge->face) blender only selects elements in the new mode whose
  elements were completely selected in the previous mode.
  
  This patch does not change blenders default behavior but offers
  implicit selection mode conversion as an alternative. To access it,
  hold either the left or right CTRL keys and click on a selection mode
  in the view 3d selection mode header buttons. This can be accessed via
  the CTRL-TAB selection mode switching as well, simply hold CTRL while
  clicking the mode you want or entering its number on the keypad.
  
  In some programs, such as Wings and Mirai, it has been demonstrated
  that it can also be very useful to exploit selection mode switching to
  implicitly select previously unselected elements as well. For instance
  switching selection mode from vertex to edges will select all edges
  currently associated with the currently selected vertices. The same
  behavior is applied to switching between vertex->face and
  edge->face. By exploiting this sort of selection conversion complex
  selection sets can be built quicker.
  
  Furthermore I modified blenders UndoMesh code to make selection mode
  switching "undo coherent". Aside from its relevance to inclusive
  selection mode conversion, this really counts as a "bug" in my
  mind. Previously selection mode switch could cause the selection state
  of the mesh to be invalid when certain modeling operations were
  undone. An example of this would be "edge subdivide-> switch to face
  mode-> undo"; you end up with edges selected while still in face mode!
  
  # Part Two: Log for this Commit
  
  -> Code Cleanup
  
  As per Ton's request I reformatted all my code, changed variable names
  and eliminated my use of "LinkNode" structs and replaced them with
  "ListBase" instead. There should be no warnings while compiling now
  either.
  
  -> Remove doubles bug
  
  Fixed small problem in removedoublesflag() in editmesh_tools.c that
  caused editface structs to get their UV's scrambled. Vertex colors
  might not be safe though? Need to investigate later.
  
  -> Small bug in in the the code for merge last/first
  
  It could cause a crash when exiting editmode, switching meshes, then
  entering editmode again. "lastvert" and "firstvert" pointers are now
  set to NULL whenever exiting editmode now (see load_editmesh() in
  editmesh.c). I will find a better solution to this *soon*...
  
  -> All merge tools now UV aware (optional)
  
  The default behavior is to leave UVs alone, but if you hold CTRL while
  clicking on the menu entry, UV's are merged. This works fine in most
  situations, although some investigation into how to best handle
  merging of UVs at the border of UV islands needs to be done.
  
  This last item brings up a point about the current state of the
  interface: several functions accessed through the WKEY menu now use
  the CTRL modifier to change how they behave (This convention has been
  in place for a while, see subdivide for example). Unfortunately there
  is no way to communicate the way modifier keys change the behavior of
  certain functions to the user. This makes such options invisible for
  all intents and purposes...
  
  Revision  Changes    Path
  1.57      +5 -4      blender/source/blender/include/BIF_editmesh.h
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/include/BIF_editmesh.h.diff?r1=1.56&r2=1.57&cvsroot=bf-blender>
  1.85      +15 -10    blender/source/blender/src/edit.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/edit.c.diff?r1=1.84&r2=1.85&cvsroot=bf-blender>
  1.170     +4 -1      blender/source/blender/src/editmesh.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editmesh.c.diff?r1=1.169&r2=1.170&cvsroot=bf-blender>
  1.51      +9 -9      blender/source/blender/src/editmesh_lib.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editmesh_lib.c.diff?r1=1.50&r2=1.51&cvsroot=bf-blender>
  1.80      +8 -4      blender/source/blender/src/editmesh_mods.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editmesh_mods.c.diff?r1=1.79&r2=1.80&cvsroot=bf-blender>
  1.138     +317 -223  blender/source/blender/src/editmesh_tools.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/editmesh_tools.c.diff?r1=1.137&r2=1.138&cvsroot=bf-blender>
  1.157     +6 -3      blender/source/blender/src/header_view3d.c
    <http://projects.blender.org/viewcvs/viewcvs.cgi/blender/source/blender/src/header_view3d.c.diff?r1=1.156&r2=1.157&cvsroot=bf-blender>



More information about the Bf-blender-cvs mailing list