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
2006-12-21=== Transform Snap ===Martin Poirier
The circle drawn around the snap point is now truely constant regardless of zoom and size of the window. That size if linearly proportional to the vertex size (bigger vertex -> bigger circle).
2006-09-16Bugfix #4994Ton Roosendaal
Proportional editing sometimes failed to work by a missing initialization. It was caused by the combination of having manipulators on, and saving the file with an active Armature Object in PoseMode.
2006-08-11Bugfix 4865Ton Roosendaal
Manipulator orientation tweak: when having multiple objects selected, the orientation option "Local" was always skipped, showing it global. Now it uses the orientation of the active object. The bug reportor noticed a conflict with the "Around" option "Active". In that case he expected the orientation to be from Active Object as well.
2006-06-28=== warnings cleanup ===Andrea Weikert
added missing includes for undefined symbols in windows release build warnings: creator.c(490) : 'libtiff_init' undefined; transform_manipulator.c(237) : 'EM_editselection_center' undefined; src\transform_manipulator.c(241) : 'EM_editselection_normal' undefined; transform_manipulator.c(242) : 'EM_editselection_plane' undefined; \python\api2_2x\Object.c(3658) : 'get_local_bounds' undefined;
2006-06-13Last minute patch from Chris WantTon Roosendaal
Nkey "Properties Panel" now has Dimension ("Dim") buttons too. This reads from the actual bounding box value to see the size. Note that dimensions for animated & deformed objects will change per frame. (Cleaned up buttons layout for patch, and added support for Curve, Text and Surface objects)
2006-03-27Seperated out some functionality into 3 new functions.Campbell Barton
EM_editselection_center EM_editselection_normal EM_editselection_plane These functions are used by the manipulator to get data from an editselection. regardless of weather its a face/edge/vert.
2006-03-27Added rotate about centre for active Vert/Edge/Face in mesh editmode. also ↵Campbell Barton
works for getting the V/E/F normal. Means we can now rotate about the last selected edge.
2006-01-24Giant commit!Ton Roosendaal
A full detailed description of this will be done later... is several days of work. Here's a summary: Render: - Full cleanup of render code, removing *all* globals and bad level calls all over blender. Render module is now not called abusive anymore - API-fied calls to rendering - Full recode of internal render pipeline. Is now rendering tiles by default, prepared for much smarter 'bucket' render later. - Each thread now can render a full part - Renders were tested with 4 threads, goes fine, apart from some lookup tables in softshadow and AO still - Rendering is prepared to do multiple layers and passes - No single 32 bits trick in render code anymore, all 100% floats now. Writing images/movies - moved writing images to blender kernel (bye bye 'schrijfplaatje'!) - made a new Movie handle system, also in kernel. This will enable much easier use of movies in Blender PreviewRender: - Using new render API, previewrender (in buttons) now uses regular render code to generate images. - new datafile 'preview.blend.c' has the preview scenes in it - previews get rendered in exact displayed size (1 pixel = 1 pixel) 3D Preview render - new; press Pkey in 3d window, for a panel that continuously renders (pkey is for games, i know... but we dont do that in orange now!) - this render works nearly identical to buttons-preview render, so it stops rendering on any event (mouse, keyboard, etc) - on moving/scaling the panel, the render code doesn't recreate all geometry - same for shifting/panning view - all other operations (now) regenerate the full render database still. - this is WIP... but big fun, especially for simple scenes! Compositor - Using same node system as now in use for shaders, you can composit images - works pretty straightforward... needs much more options/tools and integration with rendering still - is not threaded yet, nor is so smart to only recalculate changes... will be done soon! - the "Render Result" node will get all layers/passes as output sockets - The "Output" node renders to a builtin image, which you can view in the Image window. (yes, output nodes to render-result, and to files, is on the list!) The Bad News - "Unified Render" is removed. It might come back in some stage, but this system should be built from scratch. I can't really understand this code... I expect it is not much needed, especially with advanced layer/passes control - Panorama render, Field render, Motion blur, is not coded yet... (I had to recode every single feature in render, so...!) - Lens Flare is also not back... needs total revision, might become composit effect though (using zbuffer for visibility) - Part render is gone! (well, thats obvious, its default now). - The render window is only restored with limited functionality... I am going to check first the option to render to a Image window, so Blender can become a true single-window application. :) For example, the 'Spare render buffer' (jkey) doesnt work. - Render with border, now default creates a smaller image - No zbuffers are written yet... on the todo! - Scons files and MSVC will need work to get compiling again OK... thats what I can quickly recall. Now go compiling!
2005-12-19Orange: monday merger with bf-blender (loadsa bugfixes).Ton Roosendaal
ALso: a bit tidying up in editaction.c and python Object.c
2005-12-19#3631Ton Roosendaal
Manipulator now centers on middle point of Bezier handle, when 2 or more points in handle are selected.
2005-12-07Orange request; Bones in Armature now have own layer settings.Ton Roosendaal
Works like for Object layers, but local within Armature itself. Each Bone can be in (16 now) any layer, and the Armature layer defines what is visible or not. Also note that hiding will still work too. Since the Blender code is *stuffed* with Bone options now, this commit requires a good test if all tools we got now comply to layers... (I counted 130 cases for checking for selected Bones in code!) In PoseMode; hotkey M will show 'movetolayer' menu. Not in editmode... then its the mirror menu. Todo: make action/nla drawing comply to Armature layer settings.
2005-11-28Bugfix #3469Ton Roosendaal
3D Manipulator didn't snap to correct center in editmode Armature. Bug as old as manipulators in blender. :)
2005-10-30New: Write Protection for transform values.Ton Roosendaal
You now can set, in NKEY Transform Properties Panel, per XYZ rot/loc/size, a protection for Transform tools to not change these values anymore. This now works for Objects or for Bones in PoseMode. Usage is especially for character animation, to give Bones in a Pose defaults for rotation axes, so you don't have to worry about the correct limitations (or setup complex IK limits). Of course, this feature doesn't influence the animation system. As an extra also the Transform Widgets then draw less handles. Note this is based on the actual locked value, and depends still on Manipulator orientation whether it can be used really. Implementation warning: I had to remove the 'return' in the middle of the editobject.c compatible_eul() call. It now makes nice compatible eulers when they're simple (single axis rotations). Unfortunately there was no note in the code why it was ever removed... ALso: fix for crash in using Crease Transform and Mirror modifier.
2005-09-03Bugfix #2977Ton Roosendaal
Tweaked selection code for Manipulators in 'combo' mode, it gives preference now to the scale/translate widgets over the rotate arcs. This enables use of these widgets in ortho top/side views.
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-09Big commit, had to rework lots of selection stuff so that thingsDaniel Dunbar
worked properly with modifiers. Needs more testing I am sure. No, honestly, I wasn't just cleaning for the hell of it, it was *necessary* (I would never do such a thing). Selection should work completely with cage options of modifiers now. - added DerivedMesh foreach functions to iterate over mapped verts/edges/face centers. These replaced some of the drawing functions and are more general anyway. Special edge drawing functions remain for performance reasons. - removed EditFace xs, ys fields - added general functions to iterate over screen coordinates of mesh/curve/lattice objects - removed all calc_*verts* functions that were used for storing screen coordinates in objects. they were recalc'd on the fly for most situations anyway, so now we just always do that. calc_*verts_ext was one of those calls that did dirty things deep down in the callstack (changing curarea and poking at matrices) - rewrote all vertex level selection routines (circle, lasso, bbox) and closest vertex routines (rightmouse select) to use the new system. This cleaned up the selection code a lot and the structure of selection is much easier to see now. This is good for future work on allowing modifiers to completely override the selection system. It also points out some discrepancies in the way selection is handled that might be nice to resolve (mesh vertex selection has fancy stuff to try to help with selecting overlapping, but it only works w/o bbuf select, and curves/lattices don't have at all). - had to remove ton's code to move Manipulator to cage location, this is not reliable (can come up with a different method if requested) - as it happens BezTriple.s and BPoint.s are basically available to be removed, just need to rewrite editipo code that still does background calc of screen coordinates - MVert.{xs,ys} are still around because they are abused in some places for other info (not sure if this is safe actually, since they are short's and the mvert limit went up). And did I mention this commit is comes out to -305 lines? Well it does.
2005-07-24Big Transform Manipulator MergeMartin Poirier
*NOTE*: Some UI decision done in this commit will most likely be revised, all flame shall go in /dev/null. Constructive discussions of course welcomed. This commit merges manipulator orientation selection back in "traditional" transform. That's how it works: - The dropdown in the 3D view header is always visible - The orientation chosen will be used when choosing an axis with MMB and for the *second* key press of X,Y,Z However, Local orientation doesn't use the one calculated by the manipulator. This is to ensure that multiple object local and armatures in pose still works as before. - Alt-Space (to change the orientation) works during transform New Transform orientation: View, using the view axis. Fixes for the following bugs: - Constraint projection code "jammed" if input vector was <0,0,0>, reported a couple of times on IRC. Thanks to Basse for the example file. - Transform on texspace crashed on objects without texspace data (camera, lamp, ...). This was reported in tracker. - Numinput with lock constraints didn't work correctly. Reported on elysiun Probably some others that I'm forgetting I also moved a couple of functions around in an attempt to make things clearer.
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.
2005-07-19 - change mesh_get_derived_render to mesh_create_derived_render (alwaysDaniel Dunbar
builds new DerivedMesh... caching can come later) - split DerivedMesh returning functions into editmesh and mesh groups - got rid of DL_NORS displist type (get built on fly for mesh when needed) - got rid of Mesh.disp (yay!) - started to punch DerivedMesh returning functions into shape to introduce modifier stack
2005-07-13Armature "XRay mode" now draws nicely with solid too. For it to work, ITon Roosendaal
had to add a new feature to the 3d window, to collect "after draw" objects, which get drawn as last, after a clear of the zbuffer. Same method can be used for nice OpenGL transparent draw, the system is ready for it, do that later. The huge commit is caused by cleaning up globals from struct Global. Many variables were unused or just not needed anymore. Did that to move the ugly G.zbuf to where it belongs, in the View3D space struct. :)
2005-07-03Result of 2 weeks of quiet coding work in Greece :)Ton Roosendaal
Aim was to get a total refresh of the animation system. This is needed because; - we need to upgrade it with 21st century features - current code is spaghetti/hack combo, and hides good design - it should become lag-free with using dependency graphs A full log, with complete code API/structure/design explanation will follow, that's a load of work... so here below the list with hot changes; - The entire object update system (matrices, geometry) is now centralized. Calls to where_is_object and makeDispList are forbidden, instead we tag objects 'changed' and let the depgraph code sort it out - Removed all old "Ika" code - Depgraph is aware of all relationships, including meta balls, constraints, bevelcurve, and so on. - Made depgraph aware of relation types and layers, to do smart flushing of 'changed' events. Nothing gets calculated too often! - Transform uses depgraph to detect changes - On frame-advance, depgraph flushes animated changes Armatures; Almost all armature related code has been fully built from scratch. It now reveils the original design much better, with a very clean implementation, lag free without even calculating each Bone more than once. Result is quite a speedup yes! Important to note is; 1) Armature is data containing the 'rest position' 2) Pose is the changes of rest position, and always on object level. That way more Objects can use same Pose. Also constraints are in Pose 3) Actions only contain the Ipos to change values in Poses. - Bones draw unrotated now - Drawing bones speedup enormously (10-20 times) - Bone selecting in EditMode, selection state is saved for PoseMode, and vice-versa - Undo in editmode - Bone renaming does vertexgroups, constraints, posechannels, actions, for all users of Armature in entire file - Added Bone renaming in NKey panel - Nkey PoseMode shows eulers now - EditMode and PoseMode now have 'active' bone too (last clicked) - Parenting in EditMode' CTRL+P, ALT+P, with nice options! - Pose is added in Outliner now, with showing that constraints are in the Pose, not Armature - Disconnected IK solving from constraints. It's a separate phase now, on top of the full Pose calculations - Pose itself has a dependency graph too, so evaluation order is lag free. TODO NOW; - Rotating in Posemode has incorrect inverse transform (Martin will fix) - Python Bone/Armature/Pose API disabled... needs full recode too (wait for my doc!) - Game engine will need upgrade too - Depgraph code needs revision, cleanup, can be much faster! (But, compliments for Jean-Luc, it works like a charm!) - IK changed, it now doesnt use previous position to advance to next position anymore. That system looks nice (no flips) but is not well suited for NLA and background render. TODO LATER; We now can do loadsa new nifty features as well; like: - Kill PoseMode (can be option for armatures itself) - Make B-Bones (Bezier, Bspline, like for spines) - Move all silly button level edit to 3d window (like CTRL+I = add IK) - Much better & informative drawing - Fix action/nla editors - Put all ipos in Actions (object, mesh key, lamp color) - Add hooks - Null bones - Much more advanced constraints... Bugfixes; - OGL render (view3d header) had wrong first frame on anim render - Ipo 'recording' mode had wrong playback speed - Vertex-key mode now sticks to show 'active key', until frame change -Ton-
2005-06-28Transform stuffMartin Poirier
Cleanup in transform.c: removed uneeded includes and removed REPEAT experiment. Split off manipulator init function, no need to resort on hacks to setup stuff before starting transform anymore. Fix0r3d single axis projection for constraints. It deals with perspective correctly now (as much as planar constraints).
2005-06-17Adding Jiri's manipulator path. This makes Normal orientation align to meta ↵Martin Poirier
element's rotation (in edit mode, obviously).
2005-05-29Tinsy cleanup of combo drawing Manipulators:Ton Roosendaal
- translate+scale : arrow at end of axis - translate+rotate: draws axis lines now - while translate: draws the axis line too And: GCC was nagging about Martin's precious code! transform_constraints.c:745: warning: suggest parentheses around comparison in operand of & Apparently the if(a & b == c) is undefined? Whatever!
2005-05-20Manipulators now draw on location of optimal subsurf vertices. LooksTon Roosendaal
nicer, but be aware that these locations are 'virtual', derived from the actual Mesh Cage vertices you don't see. Normal transform (and actual transform with Manipulators) remains on the original vertices, which also shows with dashed line towards pivot on scale/rotate.
2005-05-15Fixing bug #2556: ↵Martin Poirier
http://projects.blender.org/tracker/?func=detail&atid=125&aid=2556&group_id=9 MEMSET was clearing the TransInfo struct after the constraint setup call has been made. Temporary fix until the manipulator transform init is split off, like normal transform.
2005-05-12Fixed various errors with Blender allowing editing Library linked data.Ton Roosendaal
CTRL+V on buttons NKEY Panels join mesh join curve editing buttons boolean vpaint faceselect Manipulator Also; Transform() got in useless loop when you entered without anything selected. Not sure why Martin recoded it this way... maybe as a first step to handlerify it? For evil Python Aussie Bosses? :P
2005-05-08Added: new Pivot option, "Around active object".Ton Roosendaal
Works nice quick to rotate a group of Objects around a defined center, without hassle with the 3d cursor. Especially for the 3D Manipulator. In EditMode/PoseMode this option falls back to "Centroid", as does the "Individual centers" option already.
2005-05-08Dang, flipped a zero and one!Ton Roosendaal
Error in commit of 5 hours ago... normal alignment didnt work OK for the case a face is selected.
2005-05-07Patch from Tom Musgrove to bypass extrude popup on singular selections...Ton Roosendaal
Implementation had some issues though, since: a) Blender has no stats available that tells amount of selected edges b) Bypassing the popup should be 100% accurate b) Once you do that, the popup should actually only show possible choices as well. So! I've added a G.totedge and G.totedgesel, also being printed in the info header. Using this variable the extrude popups could be limited too. Also: made 'normal alignment' for edge-only selections work when the normal wasn't pointing OK. Now it aligns the Z axis with the edge itself Exact algorithm for choosing a 'normal' and 'plane' still is weak.
2005-05-04On click-release for Manipulator handles, without moving mouse, it willTon Roosendaal
stick to transform() until another mouse press (or ESC etc)
2005-05-03UI cleanup work;Ton Roosendaal
Proportional edit: - Proportional mode added to header as button/menu. Including new option to have only connected geometry influenced. - Added icons for proportional & proportional modes - Make proportional edit data part of Scene, so all gets saved. The Global flag G_PROPORTIONAL was removed - Made sure #defines get used properly, also tweaked order for proportional so it starts with regular 'smooth' by default. - Use ALT+O in editmode to switch to new proportional 'connected' mode Other UI stuff: - in EditMode, the layer buttons get hidden... the amount of icons in 3d header grows to fast. :) - made less ugly icons for the Manipulators. Still can be better. - Added alpha-filter for pre-processing Icon-image, giving nicer display of icon-antialising on dark or bright backdrops - disabled Manipulators when in editmode, and current layers don't show the edited data. - Added the value used to define Normal size (editmode draw) in Scene too, so it gets saved.
2005-05-01Error in the clipping plane for drawing rotate-widget.Ton Roosendaal
On zoom out or zoom in, this clipping went more narrow or wider... should be fixed.
2005-04-30Manipulator with "normal alignment" now aligns to edges too (if no facesTon Roosendaal
selected) and to vertex normals. Only issue is that vertexnormals are not updated on each editing command (it's a bit too much overhead...) so use a TAB+TAB for now to enforce proper vertexnormals.
2005-04-27Fixed CTRL modifier for rotation widget drawing.Ton Roosendaal
Also fixes bug #2481
2005-04-24Bug #2467Ton Roosendaal
For non-uniform scaled + rotated objects, the normal aligned Manipulator got deformed (on multiple selected faces) or pointed wrong. Needed the famous Transpose of Inverted Matrix trick here.
2005-04-24Reflecting the discussions on Transform Manipulators...Ton Roosendaal
Here you can see the notes and pictures: http://www.blender3d.org/cms/Manipulator_Widgets.548.0.html The alternative rotate widgets are still under rt=2 and rt=3. Still enough work todo here, but hope it's a good step forward!
2005-04-20* Brought over a 'mode' parameter to drawcircball to preventMatt Ebb
further loss of Hos' hair during tuhopuu merges. This doesn't change any user functionality. 'Mode' can be GL_LINE_LOOP for a circle outline (as it currently is), GL_POLYGON for a filled circle, or whatever gl mode you like.
2005-04-16For the manipulator freaks; rotate widget with 'arcs' now displays theTon Roosendaal
transparant grey (ghosted) rotation where mouse click started.
2005-04-16In localview the Manipulator didnt center at correct 3d cursor location.Ton Roosendaal
2005-04-10Merged all the internal transform includes into transform.h and moves it to ↵Martin Poirier
/src to /include. Split the conversion fonctions and sorting functions from transform.c into transform_conversions.c Update MSVC 6.0 projectiles and SConscript accordingly. Editview still included transform.h, replaced that for BIF_transform.h, the external include.
2005-04-04SoftBody:Ton Roosendaal
- on add new SoftBody, it creates automatically edges in Mesh now, gives too confusing results otherwise - if no edges exist in mesh, it also doesnt add diagonals for faces in softbody Transform; - fixed stupid 'used unitialized' gcc warning (sorry theeth!) - made dualAxisConstraint() accept string too - little cleanup of prints in using Manipulators
2005-04-03New minimal & 2D drawing type for Manipulators; try F10 "rt" on 5 (or 6 forTon Roosendaal
same style in trackball arcs) Full collection can be found temporally here; http://www.blender.org/bf/rt.html
2005-04-01Removed casting warnings from transform_manipulator.Martin Poirier
PET is now checked as a transform flag during transform. Much cleaner that way for NOPET context (extrude, duplicate) Added Sphere as a new PET falloff mode (icon and all) and reordered them around in a more logical fashion (IMHO). Also brought back Subsurf toggle with Shift-O (was supposed to be for PET object mode but that was canned).
2005-04-01Transform fixesMartin Poirier
Connected PET for mesh had an infinite loop in some case. Fixed an made a bit faster. Renamed the numinput flag. Corrected a conflict in TransInfo flags. This was a crash waiting to happen. NO_CONSTRAINT flag now correctly used to disable MMB and constraint hotkeys when needed. Added check for the manipulator flag when drawing them before applying transformation matrix. Was really weird when doing MMB with rotation.
2005-03-28Cleanup of widget code;Ton Roosendaal
- made more general calls with args for drawing types - made it accept transparency for all modes (used while transform now) - added argument to detect 'combo' mode, gave offsets to translate/scale handles in combos. - added 'pie chart' on view-aligned rotate for widget - made trackball for rotate widget rt==4 behave compatible - removed redundant code for 'ghosting'
2005-03-27Two small fixes in transform, committed so Martin can work...Ton Roosendaal
- scale negative draws widget OK (scale widget only now) - scale negative threshold (for flip) was on vertical Y, now is perpen- dicular to center of axis.
2005-03-25Added Manipulator Combo mode, with translate/rotate/scale combined. CenterTon Roosendaal
remains translate though. Can be activitated as 4th CTRL hotkey cycle.
2005-03-23Transform stuff for TEST!Ton Roosendaal
- 4th rotation widget styling, activate with Scene buttons, Anim panel, "rt" on "4". - drawing constraint lines replaced with widget compatible styling. (functionality unchanged) Fix; - click on center for Rotate widget didn't switch to local/normal in all cases
2005-03-22- Removed temporal hack that switched manipulator type on G, R, S hotkeys.Ton Roosendaal
That was blocking immediate hotkey access for normal blendering. - New, experimental, hotkey to switch: CTRLKEY! Added code in such a way it detects a CTRL key press and release without using it as modifier. Pressing CTRL will cycle through the 3 manipulator types. - Fix for yesterday's commit; click on centerpoint for switching orientation happened too on a click for other widgets. Not nice...