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
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-03-21update to trunk r14199ndofJean-Luc Peurière
2008-03-16== Align ==Martin Poirier
Use pupmenu menu to select align orientation. Faster workflow than always having to change the current transform orientation beforehand.
2008-03-14resolved conflict state with HEAD r14096Jean-Luc Peurière
blenderbuttons still bad not let this compile
2008-03-10== Align to Transform Orientation ==Martin Poirier
New rotation alignement fonction Rotates objects/Pose bones to match the selected transform orientation. Can be used to align to view, active object (normal) and custom transform orientations. Accessible in the Object -> Transform submenu and through the hotkey Ctrl-Alt-A (which was previously a fall through for Apply but only Ctrl-A and Ctrl-Shift-A did anything special). Can be eventually made to work in edit mode (not too hard).
2008-02-24-> Bevel tools and Bmesh kernelGeoffrey Bantle
The following is a commit of Levi Schooley's bevel code and the bmesh library it depends on. The current editmode bevel has been replaced with a new per edge bevel function. Vertex beveling is also availible. To set weights for the modifier to use, use the ctrl-shift-e shortcut on either edges or vertices. Recursive beveling is turned of for the time being.
2008-01-24=== Mirror Tool ===Martin Poirier
Making the mirror tool axis selection interactive instead of using a popmenu. Mirror is now just a constant -1 scaling transform, which enables you to choose the mirror axis through hotkeys (x,y,z) and with MMB. It also means it's easier to select the correct axis if you're not sure which is which and gives access to all the orientation supported in transform (including custom user orientations). Mesh and Object header menus still have the individual axis as options but have an added "Interactive Mirror" which just enters transform and lets user pick the axis there. Ctrl-M enters "Interactive Mirror" too. In a nutshell, this changes adds more possible mirroring axis and unifies the mirror axis selection process with transform constraint axis selection.
2008-01-14=== Transform Snap ===Martin Poirier
Snapping for object mode Changes: - Transform snap now working in object mode and not just mesh edit mode - Shift-Tab can be used to toggle snap on/off inside transform too (no more Esc,toggle,restart) - Object mode snap: Closest uses the bounding box corners of all selected objects, Median uses object center and Center uses transform center (same as edit mode). - Object mode snap: all visible meshes can be used to get the snapping point (unlike edit mode snap which is limited to selected mesh: this might be adjusted to make edit mode snap use all visible too). To Do: - Add "Active" snap target method: use active object (or mesh element) as snap target - Add snapping capabilities to Scale - (Maybe) Add "Near pointer" snap target method: use selected element that is closest to mouse pointer as snap target. Active could probably accomplish that already in a less confusing manner, so I might skip this.
2008-01-13=== Custom Transform Orientation ===Martin Poirier
Custom Orientations can be added with Ctrl-Shift-C (hotkey suggestions are welcomed), this adds and select the new alignment. Custom Orientations can also be added, deleted, selected from the Transform Orientations panel (View -> Transform Orientations). Standard orientations (global, local, normal, view) can also be selected from this panel. If you plan on using only a single custom orientation and don't really need a list, I suggest you use the hotkey as it adds and selects at the same time. Custom Orientations are save in the scene and are selected per 3D view (like normal orientation). Adding from an object, the orientation is a normalized version of the object's orientation. Adding from mesh data, a single element (vertex, edge, face) must be selected in its respective selection mode. Vertex orientation Z-axis is based on the normal, edge Z-axis on the edge itself (X-axis is on the XoY plane when possible, Y-axis is perpendicular to the rest). Face orientation Z-axis is the face normal, X-axis is perpendicular to the first edge, Y-axis is perpendicular to the rest. (More logical orientations can be suggested). I plan to add: 2 vertice (connected or not) => edge orientation , 3 vertice = face orientation Differences from the patch: - orientations no longer link back to the object they came from, everything is copy on creation. - orientations are overwritten based on name (if you add an orientation with the same name as one that already exists, it overwrites the old one)
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-26Fixes for some long standing transform bugs.Martin Poirier
- [#6112] is this an extrusion bug? When extruding, x-mirror was giving weird behavior since the extruded vertice could match with their non-extruded counterpart on the other side. The solution is to disable x-mirror (with a transform context flag, like disabling PET) in that case. - External constraint setup calls (BIF_*) didn't setup some internal structs properly. For the user, this resulted in some transform (extrude particularly) showing a full 3d vector in the header instead of a scalar along the constraint axis (this messed up num input a bit too, you could type values in unused axis).
2007-11-06== "Extend" Transform Mode for Action + NLA Editors ==Joshua Leung
Peach Request: Now the Action and NLA editors have the "Extend" transform mode first seen in the Sequence Editor. Just use the EKEY to start transforming. It works like Grab, except it only moves the keyframes/side of NLA-strip that was on the same side of the current-frame marker as the mouse was when transform started.
2007-09-24== Action and NLA Editor Transform ==Joshua Leung
I've refactored the Action and NLA Editor Transform tools to use the Transform System instead of setting up their own transform loops. This should have happened ages ago, but no-one got around to doing so. * There are still a few bugs left to iron out of a few features, but on the whole it should work as well as it used to. These are: the values which get displayed when working with NLA-scaled actions may not all be correct yet; and the Time-Slide tool in the Action Editor is currently kindof broken. * One of the main benefits of this work, is that it is now possible to use Numeric Input during Transforms. * Also, a bug that meant that it was not possible to negatively scale keyframes in the Action Editor has been resolved.
2007-08-31Some cleanup of the ndof functions:Martin Poirier
Moving filterNDOFvalues and getndof to editscreen.c/BIF_mywindow.h (this might not be the best spot but it matches table/mouse functions) Adding missing function definition in include files and fix declaration mixup (void functions used as int, short pointer used as float pointer) New NDofInput model for transform (reusable externally in the future): Handles ndof events, accumulates values and enables remapping and rescaling values to fit any axis combinaison into a float[3] (this could be extended in the future, also, it doesn't support out of order axis right now). Compatible with "gears" (Ctrl key) New transform context for pure NDof input transform (entered when using Transform mode on the device). In this mode, transform "transactions" are automatically confirmed when the device returns to its rest position Rotation on Z triggers a rotation (axis is perpendicular to the screen as usual, constraints works as expected) Rotation on X/Y triggers trackball rotation Translation on X/Y/Z triggers translation (doesn't support constraints correctly). The device can also be used during a "normal" transform operation. In this case, there is no auto confirm but button 1 (right) can be used to confirm while button 2 is used to clear the NDof input (back to mouse input). NDof support was added to translation, rotation and trackball (as previously mentionned) but also to Tilt (same as rotation) and Push/Pull (move device along Z axis). This is a bit preliminary work, so everyone should feel free to comment and send suggestions. NOTE: this commit also merges revision 11523 from the trunk
2007-08-28This commit fixes up a bunch of svn properties to hopefully make things a ↵Kent Mein
little nicer for everyone. Patch provied by gsrb3d bug tracker #7061 Kent
2007-08-09Small Transform code cleanup and addins for future features.Martin Poirier
- Removing evil InitTransModeFlags (I would always forget to update that when adding new stuff). It's properly done in the per transform init now. - Add toggleable mode for Shear (with MMB) for horizontal or vertical shear. Toggle shear mode also changes the input mode from vertical to horizontal and vice versa (it's intuitiver that way). (This was suggested in a really old patch but never implemented because I disliked adding transform specific handling in the main event switch). - Add custom event handlers per transform (currently only used for Shear) - Add custom data pointer and freeing flag (only (a)bused by Shear). NOTE to Levi Schooley: Some stuff in there might be useful for you.
2007-03-24Followup to Bugfix #6435 by Ton.Martin Poirier
Added sensible way in calculateTransformCenter to report an error (including empty selection).
2007-03-18=== View Orbit Around Active ===Martin Poirier
Changed to Orbit around Selection, using transform code to calculate the selection center (using Median center method).
2006-12-20=== Transform Snap ===Martin Poirier
Draw a circle around the snapping point for visual aid. Different snapping target method, switchable in the 3d view header menu in the Transform menu. * Closest: Snaps the closest vertex to the point * Median: Snaps the median of the selection to the point * Center: Snaps the transform center to the point (this is different from median because you can use Cursor/Boundbox as center) Fix a bug with constraints/snap handling.
2006-12-03=== Transform ===Martin Poirier
Modified version of patch #5281 by Joshua Leung. It's a two part patch: Add a Roll button in the transform properties floating panel with bones selected in edit mode Add a Roll transform (Ctrl-R) that can be used to modify the roll of selected bones in edit mode The transformation modifies the roll of all selected bones incrementally (like a rotation does to the bones' rotation) [that is the part that differs from the patch. The patch would set the same roll value to all bones] Also, this commit includes some shuffling around of the functions, to keep the previously logical order. :)
2006-08-13* Shrink/Fatten for bevelled curvesMatt Ebb
This is a much faster and easier way to give a bevelled curve a taper, without using taper curves. Each point on a curve now has a 'radius' value that you can shrink and fatten using Alt S, which will influence the taper when the curve is bevelled (either with a bevob, or with front/back turned off and a bevel dept set). Alt S shrinks and fattens the selected points in an interactive transform, and you can set an absolute radius for selected points with 'Set Radius' in the curve specials menu. See demo: http://mke3.net/blender/etc/curve_shrinkfatten-h264.mov This can be a quick way to create revolved surfaces (eg. http://mke3.net/blender/etc/wineglass-h264.mov ) and it would be very interesting to use this radius value in other tools, such as a 'freehand curve' tool that would let you draw a curve freehand, with the radius affected by pen pressure, or even using the radius at each point to control curve guides for particles more precisely, rather than the continous maxdist.
2005-08-23Bretch's patch for 2D transform. ThanksMartin Poirier
Using new transform code to handle UV window. With the ground work done, Transform could more easily be extended to handle IPO window now. Tracker item: http://projects.blender.org/tracker/?func=detail&atid=127&aid=2946&group_id=9
2005-08-19Armature "Envelope" editing.Ton Roosendaal
For defining the deformation distances of Bones, three values are being used now. The bone tip and root radius define the bone-shape itself and the "dist" defines the soft area around it. A full (user) doc is in CMS here; http://www.blender3d.org/cms/Armature_Envelopes.647.0.html Note: todo still is allowing both Vertex Deform Groups and these Envelopes together (and or per Bone). Also part of this commit is: - New: Hiding bones in EditMode. This is a separate 'hide flag', so you can keep the PoseMode hidden Bones separate from EditMode. (In the future we should do some kind of bone-grouping or so) - While transform(), the hotkeys G,R,S only switch mode when the previous mode was compatible. Caused conflicts with Crease/BoneDist/etc. - Deleting the last VertexGroup now also deletes the entire Mesh 'dvert' data. Sounds logical, but remember that VertexGroups are partial on a Mesh, partial on Object. Weird design decision though... Anyhoo, at this moment the only way to have Bone Envelopes deform, is by deleting all VertexGroups! - In PoseMode, the hotkey ALT+S now does both B-Bone size or Envelope, depending draw type. - In EditMode, Extrude now also works when only Root points were selected. - Weight editing is also symmetrical btw, with the "X-axis Mirror" option set.
2005-08-16Tweak modeMartin Poirier
RMB click drag to select and transform (grab). Release to confirm. (Cancel with esc) The difference with before is that it is a single motion, you don't have to click at the end of transform, you can just release the mouse button. (Some float constant warning too)
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-23 - change mesh_calc_normals to set vertices with len(no)==0Daniel Dunbar
to normalised coordinate (convention in blender, helps with halo) - removed vertexnormals(), vertexnormals_mesh() - removed CTX_NO_NOR_RECALC (always assume already calculated) - change NMesh.c to call mesh_calc_normals - chance load_editMesh to call mesh_calc_normals after done converting instead of using editmesh normals - update recalc_editnormals to also calc vertex normals (whats 4 more adds and a sqrt among friends) Its hard to believe, but it just might be the case that there are only two places mesh normals are calculated now (renderer and kernel)
2005-07-16More armature goodies;Ton Roosendaal
The B-Bones! (where the B can be read as 'block' or 'bezier' or 'b-spline') - set option on/off in edit buttons, armature panel - scaling of B-bones only works in editmode, use ALT+S to make bones fatter or thinner. Also works for constrainted transform - In pose mode, you now have a buttons panel with per-bone settings too Here you can find the "segments" button, which allows bones to interpolate between previous/next bones, including roll. - Buttons to control interpolation ("In" and "Out" are disabled, doesn't work satisfying yet NOTE: this doesn't give deform yet! Main purpose for now is to test if this drawing method serves to animate/pose armatures well. Still need to review proper interpolation methods... maybe bezier is too limited.
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-05-10Found some time do sanitize the big Transform call:Martin Poirier
- Splited off the event treatment into a fonction of its own - Splited off the initialisation phase into a function of its own (will have to do it for the manipulator function too) Calling transform now works like this: initTransform(mode, context) - possible post init calls, constraints mostly Transform() - eventually, the postTransform function, so that Transform is just a simple big loop which could in the end just be tied in the blender event system instead. - Added a state variable in TransInfo to replace the ret_val local variable. Possible values are: TRANS_RUNNING, TRANS_CANCEL, TRANS_CONFIRM - Tied MMB and the hotkey select for constraint together, so selecting an axis with MMB and pressing the axis key after that goes to local mode on that axis. Much less confusing.
2005-05-08Another Transform todo: correct Undo names for using Transform.Ton Roosendaal
Martin; I've added calls like: BIF_TransformSetUndo("Add Duplicate"); In advance of calling transform itself, to indicate that this is the string name to be used for Undo, and also has to be done on ESC. To make that possible I had to add a memset() to zero the global struct TransInfo. Nicely done with if(Trans.mode==TRANS_INIT) Not sure how this relates to setting constraints in advance... I always found it tricky to work a non-initalized global struct. :)
2005-05-04Another big cleanup, thanks to transform recode. Could do this stageTon Roosendaal
because Martin recoded the Mirror(). - removed old globals like 'tottrans' or 'centre' or 'centroid' as used by old transform - removed a lot of code from editobject.c - moved all transform related code to transform_conversions.c (Note for Martin; sorry that's a mess... it now has all the weird functions for finding posemode dependencies... thats for the depgraph phase to remove)
2005-05-04Mirror function reuses new Transform (basicly calls the split off ↵Martin Poirier
ElementResize function on the data). Updated the menus to work with that too. Of course, this doesn't work in object mode right now, because resize I haven't fixed negative resize (yet). Again, this would have easily benefited of a stand alone init and post Transform functions. When I have time... :|
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-02Local axis constraint external call. Had to do it in a very hackish way ↵Martin Poirier
which highlight a design problem in the code. To solve it (and would solve other problems too), we'd have to split off the initialisation function. Not terribly hard to do but I'm overwhelmed with work... Push/Pull had a problem with constraints enabling/disabling. Fixed Restablished infinite line for constraint draw (when not using manipulator) as discussed in meeting.
2005-04-05Crease transformationMartin Poirier
Behavior is a bit different. Instead of showing the weird two value thing like the old transform did, it always show the weight variation in +/- that is applied to every edge. Works a bit like scale. Move away from center to increase, move closer to decrease (between -1.0 and 1.0). Works with PET (not using connection yet). Also removed some missed global Trans variable abuse.
2005-04-04Added a NO_NOR_RECALC context flag. With Individual extrude, the normals are ↵Martin Poirier
already set by the extrude code, recalculating breaks them. Cosmetic changes, renamed CTX_NOPET to CTX_NO_PET CKey during transform now clears the constraint.
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-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-01Push/Pull (aka: non proportionnal resize, original idea by Robert Tiess) ↵Martin Poirier
slipped in my last commit a bit, so might as well finish it. Accesible with Shift-P (was free), the behavior is much like Shrink/Fatten. Pull mouse toward you to pull toward center, push away to push away. Constraint and PET works with it too, of course.
2005-03-28Alright, this hopefully fixes some problems with the last transform commit.Martin Poirier
Replaced old transform call when extruding and duplicating. Added a CTX_NOPET context flag for extrude. This is done rather a bit hackishly in Transform right now, better to do it with a on/off pet flag in TransInfo and check that everywhere instead. Made sure transinfo Ext was initialised at NULL (I'm pretty sure it was in another spot, but LetterRip reported some crash leading me to believe that it might not be all the time. Better be safe than sorry). Connected PET for curves uses the real distance for the fall off calculations now.
2005-03-28Context parameter for Transform.Martin Poirier
For tex space edit, crease (soon) and future use. Manipulator assumes no context.
2005-03-25axisProjection can take care of zero-length vector so we don't need to check ↵Martin Poirier
anymore. Was giving some problems with cameras looking perfectly down. Also removed all NEWTRANSFORM defines, using the new code all the time now.
2005-03-21Added string to BIF_setSingleAxisConstraint() function for headerprint.Ton Roosendaal
Needed for martin to further work on print stuff
2005-03-21More transform widget goodies;Ton Roosendaal
- added 'ghosting' for while using translate/scaling widget - added 'pie chart' ghost to denote angle while using rotate widget - added settings to tweak widget in User menu (InfoWindow) "View & Control" - Size: total widget size as percentage of window size - Handle: as percentage of widget radius - Hotspot: for clicking handles, in pixels - Fized Size: option to make Widget size independent of window size Not sure if all of these are useful to keep, but makes for good testing in this stage. Also: made #define to use new transform to be set TRUE by default now. :)
2005-03-20- added helper lines in rotation widgetTon Roosendaal
- switched to Local mode for widgets by default, will be a key/button later
2005-03-19Global G.moving got nice define flags, and additional meaning.Ton Roosendaal
- move object mode - move editmode/pose mode - move with widgets
2005-03-19Transform widgets; Scale and Rotate versionsTon Roosendaal
To use; press the (temporal) icon in header. Switching widget types is by pressing G, R or S once, if current widget type is different it switches, otherwise it goes to normal Transform(). Widgets need a bit test for picking accuracy, correct drawing etc. The rotate widget has a center button for 'trackball' rotate. That latter can also be used for hotkey-based rotate. In current code, all widgets remain in "Global" space, also in editmode. Also widget updates while using normal transform has to be done. 2 Bugfixes: - rotate in PoseMode had error for 2d 'around' center - transform in postemode could crash, due to typo (& or |)
2005-03-18So! Finally a show-off of the *power* of Martin P's work! :)Ton Roosendaal
- Made framework for 3d Transform Manipulators (widgets) - The Manipulators act like '2d buttons', by default with LeftMouse and with while-hold-move-release - Implemented now: Translation Widget, which allows: - four hotspots for axis grab or view-aligned grab - center defined by 'around' setting - SHIFT+LMB gives planar constraint on other 2 axes - works in Object mode and Edit mode (not posemode yet) Enable it with (temporal) icon in 3D header. All other 'normal' transforms then keeps working btw. On the todo for this widget: - choice for Global, Local or Normal orientation The way the widgets are going to work is in review still. Commit is also for Matt for his proposal/paper on topic. Some notes regarding this project; - no life updates (on mouse over) like 3DS, I think that's neurotic - on click, dominant axis changes to theme defined "Transform" color, other axes disappear, like maya - manipulater size is fixed preset, independent zoom. - manipulator follows selection, and is located based on 'around' mode Unresolved; - in maya, when you select 2 or more objects, the manipulator draws on the 'active' object, also interesting - what to do with G,R,S hotkeys? It could switch the manipulator "mode"... - header button/menu for manipulator mode?
2005-03-17Fixed constraint center calculation. Much smarter to do it when calculating ↵Martin Poirier
transformation center... Fixed Extrude constraint. Needed to premul the normal by the object's matrix to but it in global space. Also, moved the Locking Axis modifier (for constraints) from Alt to Shift. Alt was conflicting with middle mouse button emulation (reported in the test builds forum). Tilt Transformation.
2005-03-13Fixed edit mode armature bug reported by Gabio (transdata conversion wasn't ↵Martin Poirier
setting data center correctly). Brought back Shrink/Fatten. Changed the behavior a bit, move the cursor to the right to move toward the normal, to the left to move backward. Please comment. Only works with meshes, defaults to resize otherwise.