Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-07-16merge with 2.5 at r21568Joseph Eagar
2009-06-23Array modifier is now implemented using bmeshJoseph Eagar
(though it's not completely feature-complete yet). I ported over the remove doubles code from the old bmesh branch for this, and split it into two bmops, "Weld Verts" and "Remove Doubles". Weld verts welds specific verts together, while remove doubles finds doubles and welds them. I also reverted the hotkey change I made earlier.
2009-06-162.5Ton Roosendaal
Added SpaceLogic, to restore the old logic buttons into. In future it can be used for a more advanced logic editor, with states, behaviour, whatever. We'll see! This commit only adds the backend for new space. Committed this now as reference for when we need another space type. It's still not well plugin-able (dynamic space types), but my idea is to just have a new SpacePlugIn for this, with a neat small API to define all relevant callbacks. Also note the icon for the spacetype is wrong still.
2009-05-23merge with 2.5 at r20307. note there were some python hacking necassary for ↵Joseph Eagar
this to work, so um hopefully there's not too much cruft from that. [[Split portion of a mixed commit.]]
2009-04-152.5: Operator naming, reviewed some of the recent changesBrecht Van Lommel
by Shaul, did some minor tweaks.
2009-03-23removed all those nasty enums from the operator api. yay! I'mJoseph Eagar
so happy. so now operators and their slots are referred to by string names. so much easier to remember!
2009-03-22-> Fixed crasher in extrude codeGeoffrey Bantle
New extrude code was accessing an uninitialized variable. Why this sort of thing doesn't cause crashes on windows, I dont have a clue! Note for Joe: I see a lot of 'logic' going on in the client code for extrude that should possibly put inside the BMOP system itself (aside from the part about modifiers). This should be cleaned up in future maybe...
2009-03-16extrude region op now does wire vert extrudes tooJoseph Eagar
2009-03-12the make ngon function's overlap test needed some work, the API functionJoseph Eagar
that does that needed to be split in two. this made dissolve faces sometimes not work. also added some api functions to recalculate normals for verts, edges and faces. and added a new flag, BM_NONORMCALC, to prevent this from happening on individual fgon faces after they are tesselated. and made dissolve faces happen on fkey in all the selection modes, not just face select.
2009-02-28merge with trunk. also tried to fix tesselator code; new code should've ↵Joseph Eagar
worked, but there's still some problems, possibly not in the tesselator code entirely. also still have reverted tools/Blender.py since scons still isn't fixed, heh.
2009-02-15added error reporting to edit meshShaul Kedem
2009-02-13merge with 2.5 at r18948Joseph Eagar
2009-02-12Replaced unified extrude edges/faces code (the stuff specificaly for Joseph Eagar
edges/faces,extrudeflag_edgess, not the entire extrude system) with a bmesh version. This stress-tested the operator api, and I had to code some new stuff,including: * An api to iterate over Mapping slots and array slots. It's modeled after the normal iterator api. * The ability to copy mapping slots. * More mapping functions. * In addition to being able to flag elements in a buffer, you can now unflag them (much clearer then passing in ~flag I think). The extrude edge/faces code has multiple layers. At the top level is a funtion in editmesh_lib.c, which takes care of selection, handles mirror modifiers, etc. It calls the extrude operator, which in turns calls split, which calls dupe/del. Note that split needed a slot to exclude things from being deleting (e.g. when extruding a single isolated face). The basic idea (reflected in original design of split/dupe/del by Briggs) is to use the split function to do the heavy work of extrude. split spits out new geometry and mappings from boundary edges, for extrude (it should also spit out other mappings, but that's for later). Briggs: you may want to look over this, hopefully I didn't do anything too evil. I probably should spend some time going over the 2.5 mesh operators and cleaning them up, splitting ones that need splitting, etc, and in general getting them to work properly.
2009-02-092.5: UV Editor module porting pretty much finished now, only missingBrecht Van Lommel
still is mirror transform. This commits adds the remaining operators: * UV mapping operators (U key menu): cube, sphere, cylinder, etc. * Hide/Show operators. And solves most XXX's, including: * Fix bad includes and calls into space image. * Aspect ratio correction. * Create UVs if they don't exist yet on unwrap. * Assign image to UVs. * Drawing proportional edit circle.
2009-02-05flip_editnormals is back, alt+3keyShaul Kedem
2009-01-312.5Ton Roosendaal
Edit Mesh: - Added back "Edge Shortest Path select" It now also does regular selection, more fun! It's mapped to CTRL+click now, and makes or clears selections between current and previously activated edge. Seam/Sharp/etc marking is a toolsetting mode still. These options cannot become properties easily, because the tool uses the properties of selected edge to clear... - Removed a whole bunch of G.f flags, related to mesh drawing. It's all now local in me->drawflags. Here's the list of removed old globals: G_DRAWEDGES G_DRAWFACES G_DRAWNORMALS G_DRAW_VNORMALS G_ALLEDGES G_HIDDENEDGES G_DRAWCREASES G_DRAWSEAMS G_DRAWSHARP G_DRAWBWEIGHTS G_DRAW_EDGELEN G_DRAW_FACEAREA G_DRAW_EDGEANG
2009-01-152.5Ton Roosendaal
- Depricated another bunch of globals; all the totobj, totmesh, totvert, and so on. - All code that needs such totals now count it themselves, these stats were not supposed to be reliable - Editmesh now stores and manages own totals. - Todo: make a scene->stats that tracks notifiers. Bugfix: selecting failed in editmesh, backbuffer stuff was too late, already using index ranges before it was set.
2009-01-152.5: Space Image ported backBrecht Van Lommel
Organized as follows: uvedit/ uv editing related code uvedit_draw.c: drawing code uvedit_ops.c: operators, just a few done uvedit_unwrap_ops.c: will be operators for unwrapping uvedit_paramatrizer.c: lscm/abf/stretch/pack space_image/ space_image.c: registration and common getter/setters image_draw.c: drawing code, mostly functional image_panels.c: panels, all commented out image_render.c: render callbacks, non functional image_ops.c: operators, only view navigation done image_header.c: header, menus mostly done but missing buttons Notes: * Header menus consist only of Operator and RNA buttons, if they are not implemented they're displayed grayed out. Ideally the full header could work like this, but std_libbuttons looks problematic. * Started using view2d code more than the old code, but for now it still does own view2d management due to some very specific requirements that the image window has. The drawing code however is more clear hopefully, it only uses view2d, and there is no switching between 'p' and 'f' view2d's anymore, it is always 'f'. * In order to make uvedit operators more independent I move some image space settings to scene toolsettings, and the current image and its buffer is in the context. Especially sync selection and select mode belonged there anyway as this cannot work correct with different spaces having different settings anyway. * Image paint is not back yet, did not want to put that together with uvedit because there's really no code sharing.. perhaps vertex paint, image paint and sculpt would be good to have in one module to share brush code, partial redraw, etc better.
2009-01-142.5Ton Roosendaal
Editmesh: add primitive basics back. Had to clean up a load of crap there... but it's sorta in control, so I think Shul can pick it up again. Test: ctrl+0 adds plane, or ctrl+9 adds grid. Notes for Shul: - i've added a transform function, which gets correctly passed on to the add_prim function, should work for all object transforms. Only the code inside add_prim might be needed to check (it uses 4x4 mat now, not a 3x3) - The old code with buttons has been ifdeffed out, check for user input and make it rna properties, which get read in the exec(), and handed over to the add_prim. Set them default now to the values from old buttons. - Operator naming is preferred lower case, I gave this a new name. - check a bit on formatting code, but don't use the old code as example! Look also at ED_keymap_mesh() for example.
2009-01-052.5Ton Roosendaal
Put back Armature/Pose code, including 'heat weight'. I've added reeb.h to get things compile, but Martin will cleanup files and put back? Now where to put all vertexgroup code.... I guess mesh? Note for msvc: yep, another new dir to add! :)
2009-01-022.5Ton Roosendaal
From the anti-globalization department: G.obedit terminated! Wherever possible, use CTX_data_edit_object(C) to get this now. It's stored in scene now, and the screen context has it defined.
2009-01-012.5Ton Roosendaal
- Edit mode Mesh undo/redo back (undo for editmodes needed recode, todo for curve/lattice/etc) - Added border select for edit mesh - Added Akey (de)select all for edit mesh - Added notifiers for mode changes. This is also the first trial to dynamically add/remove keymap handlers, based on modes. For that reason the Object keymap was split in 2, modal and non-modal. On TABkey, the view3d listener removes and adds maps. The view3d keymap still handles generic mouse/border selection. Internally it will verify modes. The modes are not re-implemented still... have to move this to scene context.
2008-12-302.5Ton Roosendaal
Editmesh code cleaned and compiling/linking. A whopping 20k lines back! :) Not that it does stuff... editmode in/out has to be done, and loads of operators. Also linking/exporting editmesh calls has to be reviewed. Also: added a blender_test_break() mechanism in BKE.