Commit Graph

586 Commits

Author SHA1 Message Date
8b7482892b made most variables which are only used in a single file and not defined in header static for blenlib, blenkernel and editors. 2011-02-14 17:55:27 +00:00
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and python functions.
- use NULL rather then 0 where possible (makes code & function calls more readable IMHO).
- set static variables and functions (exposed some unused vars/funcs).
- use func(void) rather then func() for definitions.
2011-02-13 10:52:18 +00:00
d909e61d99 Sculpting on deformed mesh
==========================

Removed limitation of armatured-only objects for sculpting -- now all
deformation modifiers are allowed in sculpt mode. Use crazyspace corrections
like from transformation modules was used to support all deformation modifiers.

Internal change: all crazyspace-related functions were noved to crazyspace.c

P.S. Brush could make quite unexpected deformation for meshes which are
     deformed in specified way. Got patch for this and discussing with Brecht
	 if it's really needed or maybe it could be done in better way.
2011-02-12 17:51:02 +00:00
c8c86aa6a1 - fix leak on STL loading if realloc fails.
- transform code was using sprintf reading and writing the same string (undefined behavior).
- softbody had unneeded NULL check.
2011-02-12 14:25:54 +00:00
5c421c328e Todo/feature request
When using masks or other simple 3D elements in composites, doing
a layer re-rendering on a node is a bit clumsy all the time.

This commit does two things to help:
- new hotkey "Z" in node editor automatically finds render layer
  that changed and re-renders it + composites
- option "Auto Render" does same, but then after every transform
  edit in 3D window

The latter is experimental; real & proper system for this requires
full threaded render support (like previews). But it works!

Demo file:
http://download.blender.org/demo/test/auto_composite.blend

Important fix:
After any render, all the render layers were tagged "changed", which
caused any edit to first totally recomposte everthing. Now it only
composites changes.

Implementation notes

- DAG scene flush now sets 'changed' flags in render layer nodes
- Added notifier for 'transform finished' to trigger the update,
  this is temporarily.
2011-02-07 16:41:57 +00:00
7710d82007 fix [#25926] lattice + projection on surface snap issue 2011-02-07 12:07:26 +00:00
a155d8895d Moved Auto-Keying "Insert for KeyingSet only" option from UserPrefs to
Scene (Toolsettings, i.e. alongside "layered" option for using NLA
while doing auto-keying)

This option makes all Auto-Keying operations use the active Keying Set
to carry out keyframing operations instead of picking and choosing
their own Keying Sets to use, thus cutting down on the number of
unwanted keys.

Warning: if the older userpref option was enabled in an old
startup.blend, it may be difficult to turn this option off.
2011-02-04 08:33:07 +00:00
6f0aa2cb0e Targetless IK Bugfixes + Tweaks:
- "CONSTRAINT_IK_AUTO" flag for targetless IK constraints was being
set in the wrong place. This is for the IK constraint data's flag, not
the generic constraint's flag
- Converting stack var "targetless" from type bConstraint to
bKinematicConstraint (i.e. constraint baseclass -> specialised data),
since it was only used in one place with a cast used there.
- When using targetless IK with no specified chain length, bone
rotation locks are taken into account too, saving a bit of extra setup
work
2011-02-01 05:15:32 +00:00
dc8078e667 Bugfix [#25885] Auto IK ignores full rotation locks
... actually, this was just an off-by-one bug again.
2011-02-01 00:43:28 +00:00
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
dc2431c491 Small code reshuffle... sequencer transform stuff was bisecting the
code for object transform stuff
2011-01-20 20:51:38 +00:00
86bbab7de5 remove/comment unused defines. 2011-01-15 16:14:57 +00:00
62eb77c119 Transform tweak:
2D Editors using the standard translation transform tool no longer
have their values converted. For instance, it simply didn't make much
sense in such editors to be showing frame numbers/timing in terms of
meters/inches.
2011-01-14 06:46:28 +00:00
619c287851 Reverting r33930 and r34202, which were related to bugs #21825 and
#25554. As found by Daniel Lara (Pepeland) in #25554, the original
problems in #21825 all stemmed from the ChildOf constraint there
having an incorrect inverse set, which was altering the final results.

Now Auto-IK works nicely for old rigs again (i.e. FK arms on BBB rigs)
2011-01-13 23:53:14 +00:00
8227b3d463 remove/comment unused vars
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-13 04:53:55 +00:00
63018144ba remove redundant assignments & unused vars.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
2011-01-12 03:41:12 +00:00
cf25b10eb5 Todo #22395: Restoring Grease Pencil Editing Mode in DopeSheet Editor
This commit restores some basic functionality for retiming Grease
Pencil sketches. Some of the functionality that existed before still
hasn't been restored (namely snap/mirror tools as well as copy+paste),
though it should be possible to use this for basic retiming and
sketch-frame management again.

- There's still a lot of work required to get this up to the standard
of the rest of the animation editor code, as some of this code was
originally just hacked in based on the old-style code.
- Work is already required to not have to directly access the main db
global to get the list of Grease Pencil datablocks to show, but that
can come along with pending cleanups of the filtering code.
2011-01-10 22:10:28 +00:00
b0af2b5f3e bug [#25535] proportional editing bug
disable PET when rotating/scaling around face centers to make it more obvious its unsupported.
2011-01-10 06:00:56 +00:00
35d261fde0 edit to Ton's recent commit, r34177, only use the far clipping as PET max when not in Ortho view. 2011-01-10 05:40:41 +00:00
856d9c9057 Bugfix #25554
Actually a minor tweak: 
Auto-IK fails on correcting for constrainted bones in chains.
For that reason it stops including constrainted bones for it.

Now it does include constraints with influence zero, or which
were disabled by user input.
2011-01-09 17:49:38 +00:00
00b8c9e7ea rename BKE_assert() --> BLI_assert(). 2011-01-09 15:12:08 +00:00
abcdd0377c Bugfix #25551
Transform crash on autokey during animplay.
Transform event handling requires Context, for inserting keys. 

Marked it with XXX warning; we have to be more careful with which
API calls require context; like inserting keys shouldn't need it?

Originally Context was meant for operators; to define user level
or scripted context, not for underlying APIs to work.
2011-01-09 12:08:29 +00:00
16e7a26185 Bugfix, IRC report
Texture space transform, SHIFT+R crashed
2011-01-08 18:46:21 +00:00
6594b591de Proportional editing:
- Proportional circle size is printed in header
  Allows you to find out if you make it smaller when it's large
- Proportional size is clipped with view3d clip-end now
- Added the size to rna, so you can inspect values via UI and py.
2011-01-08 16:54:38 +00:00
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
7b302d5052 Bug fix:
On texture-space transform, pressing Rkey crashed.
Now it refuses to enter rotation mode. :)
2011-01-06 14:19:46 +00:00
5cef085f77 Todo item:
Auto-texture space now is more responsive and correct.
- on transforming it, the buttons get redrawn to show option was reset
- on enabling option, texture space is recalculated/reset
2011-01-06 11:16:35 +00:00
37931a6b1a Todo item: brought transform texture space back.
Code changes are minimal, re-using the code as already was there.

Options are in pulldown menu, or SHIFT+T and SHIFT+ALT+T

Might be that Martin likes to see it different... do we need
a special operatortype for it?
2011-01-05 17:27:26 +00:00
486c3cd937 DAG_id_tag_update was being called with non object ID's and OB_RECALC_* flags which only apply to objects. harmless but misleading. 2011-01-03 12:41:16 +00:00
8c4a93110e Bugfix #21825
Auto-IK: applying back the IK transform on bones fails for constrainted 
bones themselves. This would require the post-transform of IK to be
converted to a pre-transform for the constraint. That's too much of
a headache for bugfixing days.

To keep the autoIK feature work it now stops IK chains at constrainted
bones. Added todo item for a matrix wizzard to fix this one day.

(What would be really cool is a matrix-api for armature to easily 
get all the required pre- and post transforms and apply. There's a lot
of duplicate exception handling for hinge bones for example.)
2010-12-28 17:03:09 +00:00
8827079841 Bugfix: (Mario Kishalmi patch)
Edge slide bug: when multiple vertical subdivisions exist, the UVs for
a slide or loopcut-slide operation were wrong.
2010-12-24 12:50:07 +00:00
86b89af5dd use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional change)
eg: uiItemR(row, &dvar_ptr, "type", 0, "", 0); -> uiItemR(row, &dvar_ptr, "type", 0, "", ICON_NULL);
2010-12-23 02:43:40 +00:00
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
dcd8c516dd Bugfix #25348
EdgeSlide: cancel didn't refresh UVs in mesh for cancelled 
state. Also loopcut suffered this.
2010-12-22 19:12:00 +00:00
4530b4984c use uppercase for axis chars, used in BLI_math and other parts of blender. 2010-12-20 23:21:33 +00:00
c0882efc8e Bugfix: new strict code for UI_make_axis_color() caused constraint
lines in Transform to not draw.
2010-12-20 13:57:52 +00:00
8e80ada09a bugfix [#25238] Render image window edits UV's 2010-12-20 05:26:25 +00:00
3bed4cbf2b fix [#25283] Edge length display difficult to read
- made theme colors for mesh edge len & face angle/area display.
- use %g rather then %f for float display, trims unneeded zeros.
- store cached 2d and 3d text color as bytes rather then floats, compare when drawing to avoid setting the context.
- use unsigned char for more color functions, avoids casting to glColorubv().
2010-12-20 03:59:22 +00:00
8dcd210de0 bug [#25292] No undo scale with sculpt mode
applies to project paint too, added with comment.
2010-12-19 12:38:20 +00:00
e53921cf40 Bugfix #25292
In sculpt mode, Object transform still worked, which was:
1) Not undo-able (sculpt undo stack)
2) Clearing the entire sculpt undo stack on operator redo
3) Had keymap conflict for R

Simply added check for this case and return trans operator.
2010-12-19 09:41:41 +00:00
f90a2123ee no functional change: only check against OB_RECALC_ALL but don't use for assignment.
Makes adding new flags give ambiguous results and also makes it less easy to tell whats intended.
In some places it looks like OB_RECALC_TIME should be left out too.
2010-12-17 15:51:42 +00:00
e836d2a169 Bugfix, irc report
After using loop-cut with multiple edges, transform widget
disappeared. Reason was a variable being set in function
not being called on cancelled operators. Now it's in Posttrans()
2010-12-16 17:19:24 +00:00
ee09aeb498 dont transform hidden handles in the graph editor. 2010-12-15 16:07:49 +00:00
2ed82275b5 transforming pose bones while the animation was playing would crash. 2010-12-10 00:10:43 +00:00
afacd18498 use lowercase for cmake builtin names and macros, remove contents in else() and endif() which is no longer needed. 2010-12-08 08:43:06 +00:00
48614fbc2a Added an assert() check for normalized quats which exposed a number of bugs where normalized quat was incorrectly assumed.
This would have made bug #25003 very simple to find.

- Objects had their quats normalized when calculating their matrix, this is inconstant with pose bones and isn't useful for animation.
  Also it wasn't normalizing the delta rotation so these would give bad rotations.

- Converting between rotation modes BKE_rotMode_change_values() assumed normal length quat. changing quat to euler rotation for eg could change the bone.

- Clear rotation and transform were not normalizing the quat when 4d loc was disabled on quat rotation, corrected and also made it so the quat scale is restored after conversion so animations curves dont jump.

There is 1 case in mat3_to_quat_is_ok() where quat_to_mat3 on an unnormalized quat is needed, for this I had to add an ugly static function quat_to_mat3_no_assert(), but overall its worthwhile IMHO to be able to find incorrect use of rotation conversion.
2010-12-07 01:56:32 +00:00
b110c7c8f2 Dependency graph: changed DAG_id_flush_update to DAG_id_tag_update. Now it
only tags the ID and does the actual flush/update delayed, before the next
redraw. For objects the update was already delayed, just flushing wasn't
yet.

This should help performance in python and animation editors, by making 
calls to RNA property update quicker. Still need to add calls in a few
places where this was previously avoided due to bad performance.
2010-12-05 18:59:23 +00:00
fa4bbbb249 Maintenance,
- remove some redundant declarations
- changed VertexTangent and Path structs to avoid compiler alignment padding.
2010-12-04 13:00:28 +00:00
263830f000 Enabled GCC -Wwrite-strings warning for CMake and replaced many 'char's for 'const char's,.
Only one functional change where Transform orientations passed "" to BIF_createTransformOrientation() which could then have the value written into.
2010-12-03 17:05:21 +00:00