Commit Graph

154 Commits

Author SHA1 Message Date
Joseph Eagar
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
Campbell Barton
f32a35fd9d apply rna naming for ToolSettings 2010-08-18 03:24:52 +00:00
Sergey Sharybin
c0e39df6ac - Enable shape key switching in edit mode for curves, surfaces and latticies
- Disable changing of lattice size if there are shape keys
2010-08-10 06:36:42 +00:00
Campbell Barton
15669532a2 header re-shuffle, some headers contained unneeded refereces to other headers, better include inline with the C files that need them 2010-08-10 05:41:51 +00:00
Campbell Barton
3e58edda3a remove unused includes 2010-08-08 13:03:07 +00:00
Campbell Barton
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
Martin Poirier
327b4d588b Separate proportional edit setting between edit and object mode. They are now used and toggled independently. 2010-07-31 19:26:21 +00:00
Sergey Sharybin
cc0f3146e7 Shapekeys for curves/surfeces
Fix #21498: Edit curve Shape key /252_r 27318

Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
2010-07-25 11:57:36 +00:00
Joseph Eagar
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
Brecht Van Lommel
5bacd2df29 Fix #22666: linked data lights lag during transform in GLSL mode.
Actually a depsgraph issue, transforming objects was incorrectly
tagging their data for recalculation.
2010-07-05 11:52:54 +00:00
Joshua Leung
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.

Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
2010-07-05 03:55:28 +00:00
Martin Poirier
b65cc25be3 [#22114] Manipulator Transform Orientation not respected
Potential fix (the error would explain the gimbal case, not the normal case. Also, it doesn't explain why it worked from time to time on other platforms).
2010-05-16 17:01:05 +00:00
Joseph Eagar
9610515b22 keyframe transform, both through dopesheet/action editor and graph editor, works a bit better with handles. handles now follow keyframes properly in frame snap mode, in situations where they would move (but the keyframe would not) in undesirable ways before. also hopefully fixed vector scope crash in image editor. and disabled snapping to seconds (ever); this can be a seperate option, silently switching to second snapping in frame snapping mode is absolutely evil. also, the action editor draws in hundredth of seconds, not seconds, so it didn't even work. Aligorith: I hope this code is ok, if not feel free to rewrite it. 2010-05-06 19:54:43 +00:00
Campbell Barton
fba7ebcbea replace add_v3_v3v3() --> add_v3_v3() where possible 2010-04-21 12:27:48 +00:00
Campbell Barton
8c3ab1c2a4 - use more inline math funcitons where possible
- swapped in less verbose math functons
- modifier include cleanup
2010-04-12 00:36:50 +00:00
Martin Poirier
824be96dc0 More work on Drag Immediate:
- Rename option and flag to something more sane
- Add property to manipulator operator and set true by default

Confirm on Release can now be forced true or false per operator, in which case it won't use the default value (the user preference).
2010-04-03 17:38:43 +00:00
Martin Poirier
5a805c5fc3 [#21840] When clicking to move a Node it sticks to the mouse
Add hidden property to be able to force confirm on release (drag immediately is a silly name) on or off.

Streamline method for adding common properties to transform operators.
2010-04-02 19:40:51 +00:00
Campbell Barton
9105f6f0bd rna naming, *_frame --> frame_* 2010-04-01 21:44:56 +00:00
Brecht Van Lommel
19fb497d13 Fix a few warning in editors/ module. 2010-03-30 11:38:06 +00:00
Matt Ebb
b09ee4923d Fix [#21711] Position of 2d cursor is not displayed correctly and cannot be set
in uv/image editor properties panel

Note: Moved UV editor 2d cursor to SpaceImage rather than View2d, so it's 
more accessible to RNA.
2010-03-30 05:52:05 +00:00
Sergey Sharybin
5497c2004c Mirror clipping for curves and surfaces. 2010-03-29 09:29:50 +00:00
Campbell Barton
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
Joseph Eagar
d6158a4019 brought back x-mirror editing, though it's currently buggy. also made tesselation face normals writable to disk. 2010-03-11 05:30:01 +00:00
Joshua Leung
6a4b39ed2c Bugfix #21508: Hidden bones remain "selected" and are affected by transforms
Made hidden bones get ignored by transform code. This should be quite an old bug...
2010-03-09 08:31:41 +00:00
Joseph Eagar
71003b9bcc merge with trunk at r27259 and commit of a patch by anthony jones to fix msvc (though further work may be needed because changes made by the merge 2010-03-09 04:32:40 +00:00
Campbell Barton
ca7b6e2cd0 fix for more crashes with baked fcurves 2010-03-03 13:20:18 +00:00
Martin Poirier
9e35777019 Revert back debuging code that made drawing transform constraints only work on one side. 2010-02-28 17:51:23 +00:00
Martin Poirier
a8d364ce4a Move increment value into numinput structure.
Easier for transform to have different values per transform then (also different from gears values).

(Based on a bug reported by Jonathan Smith)
2010-02-22 23:25:34 +00:00
Joshua Leung
ddc0c68a5c Bugfix #21234: Autokey "insert only available" userpref inserts keys for all bones in an armature
-- 

Bugfix: When autokey is enabled, notifiers to refresh the animation editors *after* transforms finished for objects were missing.
While I understand the need to limit these to not doing this during transform, after transform, this lead to lag/inconsistent UI problems.

-- 

* Added 'Damped Track' Option to 'Make Track' Operator
* Improved the code of the 'Clear Track' operator to include other types of tracking constraint too
2010-02-21 11:42:32 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Campbell Barton
ac45c743f8 realtime updates in the graph editor were updating all visible fcurves, update all selected fcurves instead. 2010-02-10 18:22:55 +00:00
Martin Poirier
9916e0193c New Transform 3D view recalculate scheme.
Only recalculate changes when absolutely necessary (mouse move triggers a soft recalc that will only happen before the next redraw other events trigger hard recalcs). The problem was that mouse moves are reported as lots of events (with small dx,dy) between each redraw which would trigger often heavy recalculations every time while only the last one was really important (the one before the redraw).

This makes snap project (retopo) much more manageable but induces a very small lag equal to one refresh cycle. Confirming transform does a hard refresh, so the final result is always consistent with mouse position.
2010-02-03 21:01:41 +00:00
Martin Poirier
26cfe812f8 Proportional Edit Connected: Use connectivity distance for falloff (connectivity distance now also calculated across inner face edges). 2010-02-01 21:31:32 +00:00
Joseph Eagar
20fac2eca7 The Death Of Editmesh - Part 1
I've removed editmesh altogether (other then scanfill, which is
seperate code that happens to reuse the editmesh structures).
The compatibility layer I had written for old editmesh tools
was more trouble then it was worth, though it did help in the 
early stages of this project.

There's a fair amount of breakage, and there's bunches of tools
(mostly minor ones) I need to port over still.  Biggest ones are
join triangles and loop to region, and spin/screw.

This probably isn't really testable, I'll hopefully have more
work done on this soon, but might not be before next week.
2010-01-28 00:45:30 +00:00
Joshua Leung
0e1eca2d08 Finishing off the Transform code changes for Degrees/Radians:
Added flags for the mapping function offering more control over what values were affected and when. In the WIP code, the values for unselected verts were getting the restoration conversion being repeatedly applied, resulting in the values tending to zero.
2010-01-26 09:25:32 +00:00
Matt Ebb
07a4986be7 WIP commit - degree conversions for transform fcurve editing - grabbing a point works fine, but still
issues with grabbing a single handle.

Using the Radians unit setting still goes fine though so you can use that for now.
2010-01-26 05:58:03 +00:00
Joshua Leung
946cdd8ff6 Proxy + Transforms Bugfix:
This commit fixes some update issues for some rig setups used for Durian, with proxies not updating correctly during transforms.

The setup involves an armature that has been proxified, which deforms a mesh in the group it came from. One of the bones in this armature is constrained to an empty that was added in the shot file.  
When the empty is moved around, the mesh does not deform in response to the armature until the transform is confirmed. 

This was because the depsgraph tagging was not comprehensive enough, since only a few cached tags got restored (but not all). For now, full depsgraph tagging is now performed for objects as they are transformed.
2010-01-20 22:21:10 +00:00
Joshua Leung
6307c65534 Animation Editors: Restored 'Realtime Updates' toggle
- In 2.4x, this setting was the lock button in the headers. 
- Now, this option can be found in the View menus of all relevant editors

- Basically, this option toggles whether objects (using animation data that's being edited) get updated during animation editor transforms to give realtime feedback on the effects of tweaks. 
- By default, this is enabled, since this fits in nicer with 2.5's everything 'live' paradigm. However, it is recommended to disable this on slower computers or when updates for heavy rigs are causing too much workflow lag

- Also, removed some old crufty settings from action editor data
2010-01-20 11:20:20 +00:00
Joseph Eagar
219b472920 merge with trunk/2.5 at r25907 2010-01-13 07:26:11 +00:00
Martin Poirier
a9aea7e6bf Edge Crease Transform is back. Now in edge menu (Ctrl-E) with Edge Slide and the rest. 2010-01-09 20:42:35 +00:00
Joseph Eagar
67ff197cb1 Merge with trunk/2.5 at r25563
Most likely will not compile for others, I'd appreciate any build errors
and missing files reports (I can never seem to get everything committed
and all the build systems working without help).

Porting over the sculpt/multires tools was a breeze,
thanks goes to brecht for a design that didn't exclude
ngons and was easy to port.

Note that I've not tested externally-backed multires
file support yet.  Also, I still need to write version
patch code for some cases.

Some notes:

* Like trunk, topological changes don't update multires right,
  so e.g. subdivide will duplicate multires data on the new faces,
  instead of subdividing it.
* If you set the debug value (ctrl-alt-d) to 1 it'll turn on
  my experiments in speeding up sculpting on higher-res multires
  meshes (but note it makes partial redraw not completely accurate).
* There's a bug where you have to go through editmode to get out
  of sculpt mode, not sure if I inherited or created this myself.
2010-01-05 22:33:41 +00:00
Martin Poirier
509c2e9614 Bugfix: [#20403] transform manipulation widgets with normal coordinates
Disable manipulator drawing during transform
2009-12-17 17:50:55 +00:00
Joshua Leung
2c3eb59f0f A few KeyingSet + Transform Tweaks:
Autokeying for transform functions now gets context-info, allowing for bone paths to be recalculated. 

However, the main purpose of this is to allow KeyingSets to eventually have poll functions.
2009-12-14 03:20:17 +00:00
Brecht Van Lommel
7e333010f3 Animation System: Handling Updates
* Added ANIM_list_elem_update and ANIM_id_update functions to call when
  changing animation curves, which will then call the RNA property update
  functions for those curves.

  This is to replace just calling DAG_id_flush_update, that may not always
  be the right thing to do, and doesn't send proper notifiers for redraw.

  Still only used/usable when transforming in the graph editor, not sure
  how this do this with NLA for example, .. needs to be improved.

* Added function wm_data_handle_update function to contain the object
  update function, and also added scene animation update there. Actually
  it should be doing all datablocks, this makes it work for sequencer.


Joshua, do you agree this is the right direction to go in? I can revert or
change the code if you think it should be done differently. Mainly wanted
to get this working well for sequencer now.
2009-12-08 18:28:09 +00:00
Martin Poirier
1962afa2a6 Use custom cursor draw in transform to draw the new arrow cursors (to indicate direction of motion for a particular transformations). This insures that it's drawn under the cursor and not far away when cursor is warped (rubber band still points to event location, this helps visualize too). 2009-12-07 18:10:11 +00:00
Martin Poirier
63fc267929 [#20213] Align to Transform Orientation crashes Blender
Align needs to be call with region context.

Also added checks to prevent this from crashing if not called properly.
2009-12-02 19:59:57 +00:00
Martin Poirier
9f251ce301 Additive snap for Transform. Easy snapping between two vertices, in the middle of three faces, ...
A to add the current snapping point to the list
Alt-A to remove the last one

The resulting snapping point is the average of all snap points in the list (and the one under the mouse pointer, if valid).

Snapping between two verts is a matter of moving over the first, pressing A, moving over the other, confirming transform.
2009-12-01 18:26:18 +00:00
Martin Poirier
20a2100a36 Add missing snap properties to transform operator.
This is used to force snap on and off when needed.

Also, when transform is not run modal, it will use default values for PET and snap properties (False) instead of scene settings. No need to force them off when calling transform with Exec.
2009-11-27 16:15:34 +00:00
Martin Poirier
74715d00cc First changes to implement the 2.5 snapping proposal (discussed back in May and recently on IRC).
http://wiki.blender.org/index.php/User:Theeth/Snapping

The new widget isn't there yet, but the rest works, including:

Increment (gears) is now a snap mode

Ctrl click to toggle snap on or off (in transform and 3d view)
Shift+Ctrl click to select snap mode (3d view only)

Snap status (on/off) is persisted in tool settings, no need to always turn it back on when entering transform.

It's still possible to have something resembling the old system by editing the transform modal keymap to snap on on ctrl press and snap off on key release.
2009-11-26 19:47:55 +00:00
Joseph Eagar
0e165c55bb did math lib conversion, equivilent to merge with trunk/2.5 at r24464 2009-11-23 14:41:22 +00:00