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
2007-12-24Step 3 for the initial commits for 2.5: removing src/ and python,Ton Roosendaal
adding new windowmanager module, and the first bits of new editors module.
2007-12-11display real fps in 3d view optionCampbell Barton
replace 1 with SELECT edited DVar texture tooltip
2007-12-02minor update, "Draw Handles" wasnt working when disabled everywhere and ↵Campbell Barton
replaced some magic numbers
2007-11-27ParticlesBrecht Van Lommel
========= Merge of the famous particle patch by Janne Karhu, a full rewrite of the Blender particle system. This includes: - Emitter, Hair and Reactor particle types. - Newtonian, Keyed and Boids physics. - Various particle visualisation and rendering types. - Vertex group and texture control for various properties. - Interpolated child particles from parents. - Hair editing with combing, growing, cutting, .. . - Explode modifier. - Harmonic, Magnetic fields, and multiple falloff types. .. and lots of other things, some more info is here: http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc The new particle system cannot be backwards compatible. Old particle systems are being converted to the new system, but will require tweaking to get them looking the same as before. Point Cache =========== The new system to replace manual baking, based on automatic caching on disk. This is currently used by softbodies and the particle system. See the Cache API section on: http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint Documentation ============= These new features still need good docs for the release logs, help for this is appreciated.
2007-11-21== Auto-Keyframing - 'Only Needed' Improvements ==Joshua Leung
The 'Only Needed' option for Auto-Keyframing now works better with a few of the different transform options. Rotating/Scaling using a pivot point that is not the center of the Object/Bone (3d-cursor, active), also inserts location keyframes if the location also changes. If "Only Centers" option is activated, then only location keyframes are inserted.
2007-09-25== Armature Animation Fixes ==Joshua Leung
This commit fixes several bugs related to animating armatures. I've also tidied up the formatting in a few files along the way, and also commented the flags for this pose->flag. What's new/fixed: * Undo will no longer destroy entire un-keyframed poses. Now it behaves as expected, and only reverses the most recent change. * On some files, POSE_DO_UNLOCK somehow got set on files and never cleared. The symptom of this was a file in which you suddenly could no longer pose an armature at all without using auto-keyframing. A check to prevent this from happening again has been added (it will also fix old files too) Notes: - Now, all PoseChannels get tagged with BONE_UNKEYED after they have been transformed. This flag prevents IPO data being flushed over these new values, even after undo. - These tags only get removed on frame-changes or inserting new keyframes.
2007-09-10Changes to "Face Select" modeCampbell Barton
* Does not indicate that UV's exist, nor does it add UV's when used. * Only accessible for texturepaint, vertexpaint and weightpaint from a button in the header (Paint Selection Mask) * Not accessible from the mode menu, this is only an option that applies to paint modes. This dosnt effect DNA, face select (G_FACESELECT) can be enabled at any time but is only used when paint modes are enabled. Other changes * UKey is uv unwrap in editmode, Ukey for undo was editmode only anyway. * UVCalc in editmode adds a UV Layer if there is not one alredy. * texture draw in editmode does not draw the face dots (they are get in the way of texturing) * some missing updates were added. * removed manipulator from when paint modes are enabled since the manipulator is not drawn in the 3d view.
2007-09-01Bugfix: Joshua Leung
Snap Cursor to Selected in EditMode for bone was still not working correctly. A missing check made it impossible to snap to joints in some situations.
2007-08-08== Snap Cursor to Selected -> EditMode Bones ==Joshua Leung
After complaints from wavez, Snap Cursor to Selected for Bones in EditMode now results in the cursor being snapped to the midpoint of the selected joint(s) like it did before my no zero-length bones commit.
2007-06-23== Auto-Keyframing ==Joshua Leung
I've moved the Auto-Keyframing functionality out of the special_aftertrans_update function into two separate functions, which can be called independent of the Transform system. One is for Bones, while the other is for Objects. This now means that the Shift-S Snapping Tools will now work with auto-keyframing.
2007-04-14update to center view.Campbell Barton
- Dont do anything if no verts or faces are selected (used to zoom into 0,0,0) - use the centers of dupli objects (should eventually use their bound boxes), much nicer when dealing with many dupli-objects
2007-04-06== Preview Range ==Joshua Leung
Preview Range now works in the IPO editor.
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2007-03-19== Preview Range ==Joshua Leung
Preview Range is a useful tool for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames. Hi Ton, Attached is a patch (I know you've already got lots of them in the tracker ;-) ) for a feature that I've sometimes wanted. It seems that this sort of thing is supported in other packages, but I can't be sure. Note: I may have left in a few bits and pieces I didn't mean to in the patch (this is off a source tree which had quite a few revisions in it, all of which was experimental) == Preview Range == Preview range is useful for animating (espcially on longer timelines). It allows you to only run through a limited set of frames to quickly preview the timing of a section of movement without going through the whole timeline. It means you don't have to set/reset start/end frame for rendering everytime you wish to only preview a region of frames. * 'Ctrl P' in Action/NLA/Timeline sets preview range. Click+drag to form selection-box defining region of frames to preview * 'Alt P' in Action/NLA/Timeline to clear preview range * 'Pre' button beside Start/End fields in timeline toggles whether start/end fields refer to scene or preview * 'Ctrl Rightarrow' and 'Ctrl Leftarrow' jump to start/end of preview region when it is set * 'S' and 'E' set the start/end frames of preview region when it is set (just like normally) in Timeline only * In Action/NLA editors, frames out of preview region are now drawn darkened when preview-region is set See the following page for more info later: http://wiki.blender.org/index.php/User:Aligorith/Preview_Range
2007-03-17Fix various gcc warning, unused variables and incorrect type passed toKen Hughes
*printf functions.
2007-03-09-> Small bug fix for modifiers and info header statsGeoffrey Bantle
Small but very annoying issue with modifiers meant that G.totvert/totedge/totface were updated to reflect the effects of a subsurf modifier in object mode but all other modifier types were ignored. This was not only inconsistent, but also made it very difficult to keep track of poly budgets. Now in order to obtain accurate counts object_handle_update is called immediatly after adding a modifier and precedes a call to countall() which has been modified to query the final derived mesh directly using dm->getNumVerts/Edges/Faces callbacks. Editmode behaviour is unchanged.
2007-03-06Uses the bglFlush() and is_a_really_crappy_intel_card() hacks to giveEd Halley
better support on low-end Macintoshes with integrated Intel graphics chipsets. Patch received from "UncleZiev" on #blendercoders, but I adjusted it so other video chipsets and platforms are unaffected. The only visual difference is that on MacBook and iMac machines, the box select outline is drawn with solid, not dashed lines like other platforms and not invisible as they were previously.
2007-01-22== Retopo ==Nicholas Bishop
Fixed bug #5773, retopo - if in wireframe mode should give an error/warning * Show error message for Retopo All button if view is in wireframe mode * When toggling view shading, update view depth data if shading isn't set to wireframe
2006-12-28Minor code cleanups of posemode bone snapping codeJoshua Leung
2006-12-27== Editmode Bone Snapping ==Joshua Leung
I've often found it very annoying that with both ends of a bone selected, they would both get snapped to the snapping point. This means that the bone becomes zero-length, hence disappears from view and gets deleted upon leaving editmode. Now, when both ends of the bone are selected, only the head of the bone gets snapped to the snapping point. The tail will get offset by the same amount that the head gets offset by, thus preventing zero-length bones.
2006-12-27== PoseMode Bone Snapping ==Joshua Leung
Bugfix for my previous snapping commit. In some cases, bones still didn't snap correctly (parentless 'root' bones). That was because those cases assumed that constraints had no effect on those bones.
2006-12-22== Snap Bones To Location in PoseMode ==Joshua Leung
Now the Snap To Location (Shift S) tools for bones in pose-mode work correctly. Previously, only one of these tools was implemented, but it only worked in some cases. This fixes item #4874 in Todo Tracker. Was patch #5012.
2006-11-30Two-in-one commit:Ton Roosendaal
- Proxy Armature: armature layer (visible bones) is now saved in proxy, so on file reload the layer settings are restored - bugreport: disabling subsurf (for view) didn't change the total amounts in header.
2006-09-28-> Sanity Check for Selection HistoryGeoffrey Bantle
Some operations like edge loop deselect would cause selection history to become invalid. Added a sanity check to countall() to try and catch these when they happen.
2006-08-20Huge commit: VERSEJiri Hnidek
- All code is in #ifdef ... #endif - Only make build system is supported and you have to add: export WITH_VERSE=true to user-def.mk file - Blender can share only mesh objects and bitmaps now - More informations can be found at wiki: http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc I hope, that I didn't forget at anything
2006-08-12Bugreport #4787 mentioned subpixel render issues, especially for smallTon Roosendaal
images (like used for rendering icons). When working during Orange on new render pipeline, I've left this topic alone for a while... subpixel precision testing is very time consuming and needs concentration for a while. :) This commit brings back precision as it was for 2.41. Below a short explanation of the solved issues. - the window matrix for rendering is kept constant during all OSA passes, this to ensure clipping happens for each pass identically. - a subpixel offset is only applied on filling in the z-buffer - this offset is inverse corrected for shadepixel code, only on 2 places Another nasty issue is that for filtered rendering (gauss etc), the tiles (or entire image) is temporally increased 2 pixel in size. This caused a 'dark' (or sky color) edge on the rendering. During Orange that was solved with a hardcoded clipping offset value, which only corrected for larger pictures (like > 500 pixels in size). Now this clipping offset is correctly calculated, based on render size. Last issue: the view border in 3d window was calculated using integers, giving small errors in display too. Now it uses float, so visually the view border is more close to what a render shows.
2006-07-06Very minor warning fix for gcc4 in these 2 files (unitialized array)Ton Roosendaal
2006-06-12=== Editing Tools ===Martin Poirier
As suggested, adding Page Up and Page Down to the hotkey list to change the size of the circle of selection, using brush select (BB). This is done to bring it in line with transform's PET size adjustment. Two hotkeys to rule them all and to the reference manual binds them... :P
2006-05-29-> UV Edge collapseGeoffrey Bantle
Added code to make 'Collapse Edges' handle UV's intelligently. This seems to work in just about every case that I can test, so it's turned on by default. Also completely removed the 'collapse faces' command and code. I'm not sure what I was thinking with this in the first place since edge collapse does the same job while in in face mode. Because of this there is now just one single command that covers both situations called 'Collapse' which uses the edge collapse code.
2006-05-11-> New menu and toolbox entriesGeoffrey Bantle
Added the following to the 'select' menu of 3d header and toolbox while in mesh editmode: ' -Path Select -Edge Loop Multi-Select -Edge Ring Multi-Select -Loop to Region -Region to Loop Also added Collapse Faces and Collapse Edges to menu and toolbox as well as made them available in selection modes other than face exclusive and edge exclusive.
2006-03-27-> Stored SelectionsGeoffrey Bantle
Previously Blender did not store the order in which vertices, edges or faces were selected in edit mode. In many cases it is useful to have this data, however it is not desirable to store every selection made. Now blender stores selections in the order in which they were made in a linked list called 'selected' in EditMesh. EditSelection structs are created whenever 'EM_store_selection' from editmesh_lib.c is called (currently only on user selection with mouse). There are several cases in which they might be deallocated by calling the 'EM_remove_selection' function however: -When the user deselects something with the mouse ('mouse_mesh' in editmesh_mods.c) -When switching selection modes stored selections that are not relevant to the new mode are removed by the 'EM_strip_selections' function (multi-select mode is supported) -When the vertex, edge or face pointed to by a certain stored selection is deallocated -When EM_clear_flag_all is called and where the flag passed to the function contains the 'SELECT' bitmask. -When leaving edit mode (making stored selection data persistent across editing sessions will require modifications to mesh DNA later) Todo: There are a few cases still where you can temporarily end up with a stored selection that points to an element that is no longer selected (edge loop de-select can cause this for instance). The solution to this is to add a call to EM_remove_selection from 'EM_select_edge' and 'EM_select_face' when these functions are being used to deselect elements. For the sake of completeness however this will also require that an 'EM_select_vert' function be coded and called at all appropriate parts of the editmesh code. I will look into this later in the week. For now there are two tools that already take advantage of the stored selections. The first one is 'merge at first or last vertex' in the merge menu (the 'firstvert' and 'lastvert' pointers are gone from EditMesh). The second tool is path select, which builds a path between the last vert selected and the second to last vert selected. This allows you to build complex path selections in a short amount of time like this 'select A, select B, path select. select C, path select. select D...'
2006-02-22[Two Sections here; First is the log that *should* have been includedGeoffrey Bantle
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...
2006-02-18The regular warning fix update; includes two variables that were usedTon Roosendaal
without initialization. For Brecht: source/blender/blenkernel/intern/subsurf_ccg.c:329: warning: left-hand operand of comma expression has no effect This line I don't understand...
2006-02-14Modified Files:Geoffrey Bantle
source/blender/blenlib/BLI_editVert.h source/blender/include/BIF_editmesh.h source/blender/src/edit.c source/blender/src/editmesh.c source/blender/src/editmesh_lib.c source/blender/src/editmesh_mods.c source/blender/src/editmesh_tools.c source/blender/src/header_view3d.c Log: Commit of the 'upgraded merge tools' (Patch #3345) and 'inclusive selection mode conversion' (Patch #3768).
2006-01-04Orange; merger with bf-blender.Ton Roosendaal
(Merging is *not* fun work, especially not with bugfixes in main branch for code that got cleaned up in the other! Poor Hos... :)
2006-01-02Changed adduplicate() to take the dupflags as an argument. so faking the Alt ↵Campbell Barton
Key isnt needed anymore in Blender or python. Changed Pythons Object.Duplicate() to take keyword parms to enable duplication of spesific data. Eg- Object.Duplicate(mesh=1) # to duplicate mesh data also.
2005-12-28Christmas coding work!Ton Roosendaal
********* Node editor work: - To enable Nodes for Materials, you have to set the "Use Nodes" button, in the new Material buttons "Nodes" Panel or in header of the Node editor. Doing this will disable Material-Layers. - Nodes now execute materials ("shaders"), but still only using the previewrender code. - Nodes have (optional) previews for rendered images. - Node headers allow to hide buttons and/or preview image - Nodes can be dragged larger/smaller (right-bottom corner) - Nodes can be hidden (minimized) with hotkey H - CTRL+click on an Input Socket gives a popup with default values. - Changing Material/Texture or Mix node will adjust Node title. - Click-drag outside of a Node changes cursor to "Knife' and allows to draw a rect where to cut Links. - Added new node types RGBtoBW, Texture, In/Output, ColorRamp - Material Nodes have options to ouput diffuse or specular, or to use a negative normal. The input socket 'Normal' will force the material to use that normal, otherwise it uses the normal from the Material that has the node tree. - When drawing a link between two not-matching sockets, Blender inserts a converting node (now only for value/rgb combos) - When drawing a link to an input socket that's already in use, the old link will either disappear or flip to another unused socket. - A click on a Material Node will activate it, and show all its settings in the Material Buttons. Active Material Nodes draw the material icon in red. - A click on any node will show its options in the Node Panel in the Material buttons. - Multiple Output Nodes can be used, to sample contents of a tree, but only one Output is the real one, which is indicated in a different color and red material icon. - Added ThemeColors for node types - ALT+C will convert existing Material-Layers to Node... this currently only adds the material/mix nodes and connects them. Dunno if this is worth a lot of coding work to make perfect? - Press C to call another "Solve order", which will show all possible cyclic conflicts (if there are). - Technical: nodes now use "Type" structs which define the structure of nodes and in/output sockets. The Type structs store all fixed info, callbacks, and allow to reconstruct saved Nodes to match what is required by Blender. - Defining (new) nodes now is as simple as filling in a fixed Type struct, plus code some callbacks. A doc will be made! - Node preview images are by default float ********* Icon drawing: - Cleanup of how old icons were implemented in new system, making them 16x16 too, correctly centered *and* scaled. - Made drawing Icons use float coordinates - Moved BIF_calcpreview_image() into interface_icons.c, renamed it icon_from_image(). Removed a lot of unneeded Imbuf magic here! :) - Skipped scaling and imbuf copying when icons are OK size ********* Preview render: - Huge cleanup of code.... - renaming BIF_xxx calls that only were used internally - BIF_previewrender() now accepts an argument for rendering method, so it supports icons, buttonwindow previewrender and node editor - Only a single BIF_preview_changed() call now exists, supporting all signals as needed for buttos and node editor ********* More stuff: - glutil.c, glaDrawPixelsSafe() and glaDrawPixelsTex() now accept format argument for GL_FLOAT rects - Made the ColorBand become a built-in button for interface.c Was a load of cleanup work in buttons_shading.c... - removed a load of unneeded glBlendFunc() calls - Fixed bug in calculating text length for buttons (ancient!)
2005-12-17Orange: Snap-cursor-to-selected didn't respect bone layers yet.Ton Roosendaal
2005-12-07Orange: Custom drawing types for bones in Poses!Ton Roosendaal
In Armature Pose-bone panel, the 'hide' button got replaced with a button where you can type (TAB complete works) a name for a Mesh Object. It then draws that Object instead of the indicated bone drawing type. Fixes for bone layers: - Akey in Editmode didnt work proper (now deselects all non visible bones too. selection for editmode works on the vertices, not bones... - Snap in Editmode now respects layers
2005-11-15Small fixes;Ton Roosendaal
- Bone Ghost drawing now skips axes and names - "Snap to cursor" now works for parent-less bones in PoseMode - Prevented assigning in buttons of negative zero (was confusing)
2005-10-22Various stuff in one commit;Ton Roosendaal
- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int) defines, to help fixing issues with switch to 64 bits systems. This assumes that a) not more than 16GB mem is used and b) that address space is below the 1<<35 value. The latter has to be confirmed, but it seems to conform the current 64 bits generation of OSs (for mallocs). Needless to say; use long if you want to store pointers! This is for temporal fixing. - Added editmesh version for mesh-octree lookups, not used yet. - Fix: ESC on armature posemode restored the actions, should not happen - Fix: If in NLA an action was 0 frame long, it caused draw error - Fix: Click on name in Action Window now activates Bones - Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.
2005-10-03Bugfix #3046Ton Roosendaal
When using 3d window "unlocked" (own layer and own camera possible), the dependency updates didn't work, these were only using Scene layers. Changed the dependency graph call DAG_scene_flush_update() to accept an argument for all visible layers in a Screen.
2005-09-28Brought back (lost with modifier code) display of actual amount of facesTon Roosendaal
for subsurfs in info header.
2005-09-24Bug fix #3094Ton Roosendaal
Playback of sequencer sound crashed in combination with dupliverted Objects. (confirmed in osx only btw). Found out there's old not-needed code in the update_for_newframe() call, that was intended to do updates for Manipulators (calling countall()). In countall(), the entire duplilists were generated over, just for counting the totals. First step was removing the countall from update_for_newframe, and added a count_duplilist() call which doesn't generate the full duplilist. That made Blender not crashing anymore, but gives "Error totblock", without printing the block names even... The weird thing also was that the crash showed severe memory corruption in the malloc library, when combining audio scrubbing (SDL) and duplilists. I now suspect there's a remaining issue with DerivedMesh, but for that I need help from Daniel.
2005-08-28Integration of new IK lib features in Armature Poses.Ton Roosendaal
Best is to forget yesterday's commit and old docs. New docs are underway... Here's how IK works now; - IK chains can go all the way to the furthest parent Bone. Disregarding the old option "IK to Parent" and disgregarding whether a Bone has an offset to its parent (offsets now work for IK, so you can also make T-bones). - The old "IK to Parent" option now only does what it should do: it denotes whether a Bone is directly connected to a Parent Bone, or not. In the UI and in code this option is now called "Connected". - You can also define yourself which Bone will become the "Root" for an IK chain. This can be any Parent of the IK tip (where the IK constraint is). By default it goes all the way, unless you set a value for the new IK Constraint Panel option "Chain Lenght". - "Tree IK" now is detected automatic, when multiple IK Roots are on the same Bone, and when there's a branched structure. Multiple IK's on a single chain (no branches) is still executed as usual, doing the IK's sequentially. - Note: Branched structures, with _partial_ overlapping IK chains, that don't share the same Root will possibly disconnect branches. - When you select a Bone with IK, it now draws a yellow dashed line to its Root. - The IK options "Location Weight" and "Rotation Weight" are relative, in case there's a Tree IK structure. These weights cannot be set to zero. To animate or disable IK Targets, use the "Influence" slider. - This new IK is backwards and upwards compatible for Blender files. Of course, the new features won't show in older Blender binaries! :) Other changes & notes; - In PoseMode, the Constraint Panel now also draws in Editing Buttons, next to the Bones Panel. - IK Constraint Panel was redesigned... it's still a bit squished - Buttons "No X DoF" is now called "Lock X". This to follow convention to name options positive. - Added Undo push for Make/Clear Parent in Editmode Armature - Use CTRL+P "Make Parent" on a single selected Bone to make it become connected (ALT+P had already "Disconnect"). On todo next; Visualizing & review of Bone DoF limits and stiffness
2005-08-25Move the settings in the Mesh Tools panel to the new toolsettings struct in ↵Johnny Matthews
Scene. These settings are now saved per scene.
2005-08-20 - convert all DerivedMesh map functions to use index basedDaniel Dunbar
mapping (instead of Edit{Vert,Edge,Face} pointers) - dropped convertToDispListMeshMapped (whew, glad of it too) - added DerivedMesh drawMappedFaces function - dropped EM suffix for DerivedMesh functions, it was neither particularly correct nor descriptive - converted test_index_mface to test_index_face that also corrects MCol and TFace. Good thing we had three versions of this routine, you never know when one might burn down. - removed flipnorm_mesh, not used anymore (and was incorrect to boot) - Getting face select to work with modifiers turned out to be much more complicated than expected. Reworked mapping architecture for modifiers - basically elements in a DispListMesh are now required to be stored in an order that corresponds exactly to original ordering. MVert/MEdge/MFace all have a new flag ME_XXX_STEPINDEX that is set on each element that is set on the first derived element of each original element. I can't say the code to follow these requirements for subsurf is particularly transparent, but on the upside it is a reasonably consistent and simple system that is memory efficient and allows keeping the DispListMesh structure. - rewrote mirror modifier to be simpler/conform to new requirements for mapped DispListMesh structure. This also means that mirror interacts much better with incremental subsurf calculation (it used to recalc one entire side on any topology change, now it generally avoids that). - added EM_{init,free}_index_arrays and EM_get_{vert,edge,face}_for_index functions to handle mapping indices back into appropriate EditMesh structures. - bug fix, make edges didn't recalc object data - bug fix, initial image assignment to TFace's didn't recalc object data - new feature, added circle select support for FACESELECT - bug fix, creating new faces in editmode duplicated the TFACE active flag - but there should only be one active tface - bug fix, possible crash when deleting all faces in faceselect mode on mesh with tfaces... Still todo: TFace edge drawing is still not always correct in face mode, in particular with a mirror modifier when mesh has edges (and no preceeding subsurf). Have not yet decided how to deal with this. Best solution is probably to do switch to meshes all having MEdge's, in which case I can get rid of TFace edge flags (and need to recalc modifiers on tface selection change).
2005-08-03 - removed BLO_findstruct_offset (obsolete)Daniel Dunbar
- remove python access to Optimal and Subsurf flags (they don't work this way anymore, I suppose need to replace with python access to modifiers but not going to do right now). - removed interface access to OPTIMAL mode, needs to be rethough... this means at the moment subsurfs outside editmode always draw and render all edges
2005-07-27Cleanup & goodies for rigging geeks! :)Ton Roosendaal
- PoseMode: Wkey menu, "Flip Left/Right Names". On selected bones, it flips the L/R tags in names, and calls the proper code to rename everything that's related (constraint targets, bone-childs, etc). - PoseMode: Shift+S snapmenu: snap cursor to selected now works - Outliner: select bones now correctly sets 'active' flag for bones, updating the UI as well. Also made sure you cannot select hidden bones in outliner. - 3DWindow: in PoseMode/EditMode draws name of active Bone too (with user option "Draw active object name" set. - Added the new Armature/PoseMode options in View3D pulldowns. Cleanup: - moved Pose code from editaction.c to poseobject.c - removed BSE_editaction.h and BSE_editaction_types.h, moved contents of it to BIF_editaction.h. One include per C file should be fine. :) I know the src/ structure would require more elaborated includes, but we don't have that now...
2005-07-23Killed silly modal PoseMode mode! :)Ton Roosendaal
- PoseMode now is a state Armature Objects can be in. So, while in PoseMode for an Armature, you can just select another Object or Armature. - The old PoseMode options (transform, insert keys etc) are accessible with making the Armature Object 'active' (and have object in PoseMode). - At this moment no multiple Poses can be transformed/edited at the same time. - The old hotkey CTRL+TAB, and view3d header menu, still work to set an Object's PoseMode It was quite a lot recode, so tests & reports are welcome. Oh, as a bonus I added Lasso Select for Bones in PoseMode! It selects using only the line between root and tip of the Bone.