Commit Graph

45439 Commits

Author SHA1 Message Date
Campbell Barton 221a383366 use 'bool' for BLI_/BKE_ functions. 2013-03-09 05:35:49 +00:00
Campbell Barton ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
Campbell Barton 9e1ead1940 expose obrel_is_recursive_child in BKE_object.h and rename to BKE_object_is_child_recursive() 2013-03-09 03:34:01 +00:00
Campbell Barton d695d7c2ff code cleanup: use bool's for snapping functions. 2013-03-08 18:28:26 +00:00
Campbell Barton 743f464f75 changes to ruler
- click-drag adds a ruler if there are none.
- pressing enter stores the ruler for re-use when activating again (saves as a grease-pencil layer).
- add to toolbar.
2013-03-08 18:17:12 +00:00
Campbell Barton b16f24c944 add delete key for removing active ruler. 2013-03-08 16:53:00 +00:00
Bastien Montagne 589a73a43f Fix to BLF_pgettext, which was returning "" when passed NULL msgid... Never noticed any problem, but it looks it could produce strange UI issues (like deactivated buttons), and it was not consistent anyway!
Thanks to S. Lockal for spotting the issue and providing a patch.
2013-03-08 15:34:23 +00:00
Campbell Barton f9b50facd7 add ruler snapping vert/edge/face (Holding Ctrl) 2013-03-08 15:15:14 +00:00
Campbell Barton f43153dd93 avoid floating point exceptions in snapObjects(), was attempting to scale up FLT_MAX. 2013-03-08 15:10:57 +00:00
Ton Roosendaal 616a00950e Feature request:
Blender's anim player (blender -a) now allows drop of image or movie file.
It then restarts itself completely (close window, open new).
2013-03-08 13:03:04 +00:00
Joshua Leung 181ac91d6d Applying similar optimisations as r.55092 for Animation Data 2013-03-08 10:59:43 +00:00
Ton Roosendaal bee0af076f Adding include for NULL define in c++ 2013-03-08 09:09:48 +00:00
Michael Fox b78d33dcf6 [#28352]3dsmax preset, patch by Nik Prodanov, this provides both an interaction preset and a keymap preset for those migrating from 3dsmax 2013-03-08 08:57:11 +00:00
Campbell Barton 6fd187e4df code cleanup: 0 --> NULL 2013-03-08 06:32:00 +00:00
Campbell Barton 1d5b7bc1f7 fix for typo in skin modifier that resulted in incorrect vertex weights. 2013-03-08 04:31:21 +00:00
Campbell Barton c36f20a7d2 style cleanup 2013-03-08 04:00:06 +00:00
Joshua Leung ff336aca02 Bugfix [#34560] Wrong angle for text in Horizontal mode of Properties space
Rotation angle for text was still in degrees not radians
2013-03-08 03:42:16 +00:00
Campbell Barton b9554c86dc fix null pointer dereference in BM_edge_is_contiguous() (own code). 2013-03-08 03:07:32 +00:00
Joshua Leung d9ec7e2354 [#34541] Sketching bones created bones with 0 radius for envelope
This commit is just a stopgap measure (i.e. it fixes the symptoms but not the
real underlying cause) of this bug. For some reason, iter->size is nearly always
an "effectively zero but not truly zero" value. Hence, the envelope sizes would
get adjusted, but would be scaled to an impossibly small value (taken from
iter->size).

From my investigations so far, iter->size is mostly either set to (or left as)
0, except in a rare case when dealing with volume snapping, when the values
somehow get propagated there from various intermediate data points. But, that
almost never works either.
2013-03-08 02:23:43 +00:00
Joshua Leung bed8efb8e8 Improving warnings when keyframing fails for IKEY over a button
Now, instead of silently failing, an error message saying that the property
cannot be animated is displayed
2013-03-08 02:15:08 +00:00
Joshua Leung 7f7f32d768 Bugfixes: [#34394] and [#31843] Visual Keying not working for bones
Big thanks to Josef Meier (jomeier) for finding the fix!

It turns out that this was a case of variable shadowing that had been overlooked
and compilers were not warning about.
2013-03-07 23:28:23 +00:00
Jens Verwiebe 373de9e936 OSX/gcc-4.6: workaround a compilerbug, use apple-gcc instead 2013-03-07 22:12:23 +00:00
Sergej Reich 8db7a34167 math: Use len_v3() instead of normalize_v3() for area calculation
We only need the length, avoids unnecessary calculations.
2013-03-07 19:16:02 +00:00
Ton Roosendaal 8e474517db GPencil feature request:
Allow layers to be moved up and down, so you can control drawing order nicer.
2013-03-07 18:01:10 +00:00
Sergej Reich 643b0be4cb bullet: Update to current svn, r2636
Apply patches in patches directory, remove patches that were applied
upstream.
If you made changes without adding a patch, please check.

Fixes [#32233] exporting bullet format results in corrupt files.
2013-03-07 17:53:16 +00:00
Sergej Reich 46d32c89f6 Fix warnings in stubs.c 2013-03-07 17:52:51 +00:00
Sergej Reich 8e2a3e3863 Fix building with blenderplayer 2013-03-07 17:52:48 +00:00
Sergey Sharybin 557b893dfd Border for compositor viewer node feature
This adds border option to compositor, which affects on
a backdrop and viewer nodes, which is useful for faster
previews and tweaks.

Final compositing still happens for the whole frame, but
if it'll be needed it's not so difficult to support it
as well.

To use border there's Ctrl-B shortcut in the compositor
editor, which i used to define region you want to restrict
compositing to. There's also "Viewer Border" option in
the N-panel in case you'll want to disable border
compositing.

Some areas could be cleaned a bit, like ideally it shall
not be viewer image clearing in viewer_border_update RNA
callback, but currently it's not so much clear how to
make it the same fast as simple memset and glue it
somehow to compositor. Will think of nicer solution a
bit later.
2013-03-07 17:47:30 +00:00
Ton Roosendaal a134d9ed51 Speedup for Grease Pencil animators.
Saving and loading gpencil was using different order for the individual list items.
On a 120 Mb gpencil project (yes, animators!) loading time went down from 1 minute 
to a second or two.

Note that this to have effect, you need to save once.

Developer note: check this commit, it uses a new writelist function. You can 
speedup stuff tremendously with keeping saved and read data in sync.
2013-03-07 16:57:53 +00:00
Campbell Barton e93068ad78 ruler arc draw clamps to line length and simplify projection. 2013-03-07 16:12:36 +00:00
Antony Riakiotakis 41bf595c5f Texture paint refactoring commit
This is as close as I can get to keeping the old code intact. After this
commit, I will have to change existing code paths, making testing of
functionality harder.

Changes:

* Keep only projective texturing code in paint_image_proj.c
* Move 2D code to paint_image_2d.c. This needed the introduction of
allocation/cleanup functions for the relevant structures.
* Common code interface for both modes stays in paint_image.c (which
still includes all old code, system should work as it did with the
exception of non-projective 3D paint mode) and is made public. This is
not a lot of code, only rectangle invalidation and undo system.
* Changed the naming in the new code slightly: imapaint_ prefixed functions refer to
common functions used by both systems, paint_2d_ prefixed to 2d
painting. There will be an interface for the projection painting as
well. Probably there is some leftover naming conversions to do.

TODO:

* Move operator init/exec/modal to common interface file
* Get rid of old BKE_brush_painter_paint, now brush_painter_2d_paint.
All code uses stroke system for the stroke management
* Write space pressure management for the paint stroke system (for other
systems to access as well :) )
* Move texture paint tablet presssure exception code for old bugs to
stroke system (makes me wonder...aren't other systems also influenced by
these pressure issues?) or up in the function hierarchy inside texture
paint. This code is still not there so users with tablets may notice
some issues.
* possibly change other systems to pre-multiply pressure with the
relevant influenced attributes in the stroke function. This could get
tricky though and it's possible that it could backfire.
2013-03-07 12:11:38 +00:00
Campbell Barton 28b9abe3eb ruler/protractor for 3d viewport (apart of 3d printing features). work-in-progress.
- activate from spacebar search (3D Ruler) 
- ctrl-click adds new rulers
- clicking in the middle of a ruler, turns into protractor, dragging out of view snaps back to ruler.
2013-03-07 11:53:11 +00:00
Gaia Clary 172d624598 Collada fixed Collada ID name for exported animation curves 2013-03-07 10:26:04 +00:00
Campbell Barton a816b0b3d2 avoid calling glGetFloatv() twice when UI_RB_ALPHA is enabled with uiRoundBox() 2013-03-07 06:46:50 +00:00
Campbell Barton dfa8540cdf use bool for rna funcs. 2013-03-07 02:44:55 +00:00
Gaia Clary 8664d4b98b Collada: Added option for how rot,loc,trans data is exported (improves flexibility for support of other 3D tools) 2013-03-06 23:21:52 +00:00
Antony Riakiotakis 65869589b6 Support position jittering on new texpaint code using the stroke system. 2013-03-06 22:54:44 +00:00
Antony Riakiotakis 53b7bc8f1f Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It is
always used in that context so we can at least avoid reverting it twice
:p.
2013-03-06 20:55:04 +00:00
Sv. Lockal ee9def5105 Typo fix to fix global delete with Shift-X as it was before r43416 2013-03-06 20:26:28 +00:00
Antony Riakiotakis 8676530b7d Texture paint refactoring commit
Adding new file paint_image_proj.c which includes the projective texture painting part of texture
painting, using the stroke system. To access the new code path use Shift-LClick.
The new code path still is problematic with tablet pressure and I will be looking
into ways to unify this across paint systems next.

The old code is still present and can be accessed by regular Lclick as usual.

Also removed 3D (non-projective) painting from 3D viewport.

TODO:
* Add pressure influence code to stroke, remove from every other paint
system code, including texpaint.
* Put UnifiedPaintSettings update in PaintStroke code.
2013-03-06 19:54:43 +00:00
Sergey Sharybin c75065136c Tracking dopesheet fixes:
- Dopesheet need to be updated when adding or switching
  between objects.
- After removing object it shall also be tagged for update,
  otherwise crash will likely happen.
2013-03-06 18:01:24 +00:00
Campbell Barton 70e1b8d1d2 fix for error building on big-endian. 2013-03-06 16:56:28 +00:00
Campbell Barton 84aa1dd31c fix for bug where array buttons would use -1 index, causing an out-of-bounds check on an array.
added assert so this wont happen again.
2013-03-06 16:32:05 +00:00
Campbell Barton fd399fa242 add asserts for passing negative index values to RNA functions which don't support them. 2013-03-06 15:38:11 +00:00
Campbell Barton 74a9c1510a Alternate fix for bug [#34369], where invalid polygon normals could be saved in the mesh data and in the file.
This was from initial BMesh merge, but should not have been added in since face normals are calculated and stored in the DerivedMesh.

Toggling editmode would remove poly-normals so its unlikely anything relies on this custom-data.
2013-03-06 03:58:38 +00:00
Joshua Leung bf5eccc728 Woops! Fix for previous F-Curve path fix commit
Trying to rename a valid F-Curve would crash as no RNA property was set, but
*prop still had an uninitialised value.
2013-03-06 03:53:56 +00:00
Campbell Barton 785c26a0c3 code cleanup: quiet warnings for recent weight paint theme addition. 2013-03-06 02:57:31 +00:00
Campbell Barton 28278427de code cleanup: quiet float/double conversion warnings. 2013-03-06 02:52:34 +00:00
Joshua Leung c27010582e Bugfix [#32492] - Part 3: Error filter now includes drivers where there are
errors with the variables/targets, even if those errors are for variables which
aren't used (and are hence "harmless" errors)

This means that the filter can be truly useful for helping locate things that
need "cleaning up". For example, previously, there could still have been drivers
where there were some of these "harmless" errors would emit warnings, but would
otherwise appear perfectly functional.

The implementation here uses a slightly slower method of checking any errors in
these driver vars. However, it's no slower than what's done when these are
evaluated, and should be less error prone than introducing yet another type of
error tagging for this one case. The problem here is that the "driver invalid"
flag, which is usually set when a target has errors, gets cleared by the
pydrivers code if nothing went wrong when evaluating the expression. Removing
this clearing step will probably open a can of worms, so unless this method
proves to be far too slow, this simpler fix will do.
2013-03-06 01:59:09 +00:00
Joshua Leung 8ebd5ddd0e Experimental Feature: Ctrl-Click on the "name" of a broken F-Curve now allows
you to fix the RNA Path in-place

For F-Curves that are disabled or marked as having errors because their paths
are invalid (indicated with a red line underneath their names), it is now
possible to use the Ctrl-Click renaming functionality to bring up a textbox for
fixing the offending RNA Path "in place" (i.e. in the channels list) without
having to bring up the properties region first.

This makes it easier to fix the paths if you know what you're doing. However,
caution is still advised for most people. In particular, be aware that this uses
a separate "RNA Array Index" for indexing into array properties (i.e. location,
rotation, color) which will not be shown here, and can only be edited from the
panel (or datablocks editor/scripts).
2013-03-06 01:44:12 +00:00