Commit Graph

34335 Commits

Author SHA1 Message Date
Campbell Barton
4cc29110aa fix writing past array bounds in imagewraposa().
also correct array sizes in othere areas.
2012-10-06 12:04:09 +00:00
Campbell Barton
b6a803fb36 fix reading past array bounds for nearest_uv_between() and draw_tracking_tracks(). 2012-10-06 12:00:54 +00:00
Sergey Sharybin
c001bd81a7 Color Management: fixed loading configuration from non-ascii paths
Used the same hack as BLI gzip is using -- calculate short path and
send it to OCIO library.
2012-10-06 07:03:03 +00:00
Joshua Leung
950ac47250 Bugfix [#32789] (Minor) Different types used between func declaration and
definition (EDBM_selectmode_convert())

Cheers to Sebastian Nell (codemanx) for catching this.
2012-10-06 03:56:09 +00:00
Campbell Barton
b26ccf0aff toggle cut through in the knife tool now refreshes (before you had to wave the mouse about to see the result).
also remove print from last commit.
2012-10-06 03:34:52 +00:00
Campbell Barton
6a164c7f72 fix [#32779] Bmesh module: assigning to bm.select_mode crashes Blender if bmesh is empty
was missing set typecheck
2012-10-06 03:33:11 +00:00
Campbell Barton
c4472bbab6 add mball_foreachScreenElem() and use for lasso & circle selection, also utility metaball functions to (de)select all. 2012-10-06 03:02:14 +00:00
Campbell Barton
f84f2c7033 add circle select for metaballs 2012-10-06 01:30:49 +00:00
Campbell Barton
39a96e9e3f disable padding warning for DNA, gave problems with struct bounds padding which DNA ignores.
tag operator callbacks as needing their return values used. These are not directly called in many places so the inconvenience is minimal.
2012-10-06 00:42:30 +00:00
Dan Eicher
ba47095627 Grease Pencil notifier/listener cleanup
As suggested by Campbell on the IRC gave grease pencil its own notifier type (NC_GPENCIL) and made the makesrna notifier functions actually update properly.

Also got the #ifdef'd GreasePencil.layers.[new/remove] functions working.
2012-10-05 19:51:11 +00:00
Campbell Barton
db5682ac8c use pose_foreachScreenBone for pose lasso and circle select 2012-10-05 17:51:44 +00:00
Campbell Barton
292e8e7e00 add armature_foreachScreenBone(), use for lasso and circle select.
also add boundbox checking for lasso select.
2012-10-05 17:07:02 +00:00
Campbell Barton
657fc4f474 code cleanup: de-duplicate enum. 2012-10-05 15:48:39 +00:00
Campbell Barton
db70bfc206 code cleanup: use functions to initialize selection user data structs, use radius-squared for circle select comparisons.
edge_fully_inside_rect() & edge_inside_rect() args were shorts when all callers were passing ints.
2012-10-05 15:44:11 +00:00
Joshua Leung
d3cdaca648 Code cleanup
* Added/fixed some comments
* Swapped order that invoke/exec calls are defined in the operator definitions
to reflect flow better
2012-10-05 14:56:04 +00:00
Joshua Leung
b2a5f28421 Follow Path Constraint - "Animate Path" Operator
Added a convenience operator to the Follow Path constraint which adds a F-Curve
for the path (or the operator's "fixed position" value if no path is assigned),
with options for setting the start frame and length of motion. This makes it
easier for common users to just set up a quick follow-path animation where the
camera (e.g. flying around a set over certain number of frames).

A key advantage of this is that it takes care of the underlying math required
for setting up the generator curve accordingly (I've got some plans for making
this a bit friendlier to use later). Now, animating the paths is a one-click
operation, with the start and length properties able to be controlled using the
operator properties.
2012-10-05 14:51:35 +00:00
Joshua Leung
b7bb1ef9b9 Whitespace edits 2012-10-05 14:05:49 +00:00
Joshua Leung
5baa587a12 Warning indicators for animators when Auto Keying is enabled during transform
Recently on the bf-funboard list, there have been some requests for clearer
indications for animators that autokeying has been enabled when transforming so
that corrective action can be taken sooner if this wasn't expected. This is
especially important in distributed+collaborative environments where multiple
artists may work on a single shot file: someone working on a shot from
another animator may not be aware that autokeying was enabled, thus accidentally
setting a whole bunch of extra keyframes.

In this current incarnation, we display using red (not hardcoded, but using an
existing theme color) a solid 1px border around the 3D view while transforming
with autokeying enabled. In addition to the border, a blinking indicator (record
icon + "Auto Keying On" text) appear in the top right corner, as inspired by the
traditional recording indicator icons on camcorders.
2012-10-05 13:22:09 +00:00
Brecht Van Lommel
72da7722dd Fix #32770: iTaSC IK solver not working correct with bones that have stretch with
have all rotation axes disabled.
2012-10-05 13:11:16 +00:00
Joshua Leung
7e0d1cf652 Typo fix: Tooltip for "Offset Factor" for FollowPath constraint referred to
"bone" instead of "curve"
2012-10-05 13:06:36 +00:00
Bastien Montagne
00ce0c9aae Clean up in "add object" code:
* Get rid of ED_object_add_generic_invoke() and all invoke callbacks using it, it was doing nothing exec() callbacks would not do. In fact, its only action (setting part of common add ops properties, like loc, layers, etc.) was needed too by direct exec call, so it was done twice in case of using invoke()!
* Replace custom invoke code for metaballs by WM_menu_invoke helper (as already used by lamps).
* Add a new OBJECT_OT_empty_add op, to allow direct addition of empties of a given drawtype.
* And some general code cleanup (like trailing spaces, empty lines, ...).

Did quite a bunch of tests/verifications, but obviously could not tackle all possible scenarios... Anyway, if any, bugs should arize quite quickly (but I don’t expect any! :p ).
2012-10-05 12:59:09 +00:00
Brecht Van Lommel
eb46c080a2 Fix #32734: Object.to_mesh() gave wrong user count for curves/surface/text objects. 2012-10-05 12:18:09 +00:00
Brecht Van Lommel
cd19fd6c28 Fix related to #32734: crash saving blend file from render_pre callback. Not
sure I want to recommend anyone doing this, but the fix is simple.
2012-10-05 12:18:07 +00:00
Brecht Van Lommel
456a20ea07 Fix #32735: GLSL shadows not working together with X-ray drawing. 2012-10-05 12:18:04 +00:00
Campbell Barton
d5157a2259 more improvements to logic for selection/projection: replace ED_view3d_project_short_global() with ED_view3d_project_int_object() in some places. 2012-10-05 10:28:36 +00:00
Sergey Sharybin
4c3620c69d Fixed compilation error on widows
Was caused by mixing up own C-API typedefs with OCIO's
2012-10-05 10:05:26 +00:00
Sergey Sharybin
cc26da4421 Fix #32707: texture preview not loaded 2012-10-05 07:17:45 +00:00
Bastien Montagne
a320773b88 Some effect-less code cleanup... 2012-10-05 07:05:52 +00:00
Joshua Leung
3986a5f83a Bugfix [#32760] Crash on entering pose mode if motion paths have no baked points
Dunno how a file with this situation arose, but we now perform some more sanity checking to abort in this sticky situation.
2012-10-05 06:40:21 +00:00
Campbell Barton
a92171c213 fixes/minor improvements to circle select in armature and pose mode.
- pose mode now checks if circle select intersects the bone if neither head/tail are reached (as with editmode)
- checking if the mouse intersects with the bone now checks that neither projection failed.
- use ED_view3d_project_int_object rather then the global version.
2012-10-05 05:59:15 +00:00
Campbell Barton
07a0463ac5 fix for circle select ignoring lock selection option for pose and edit modes, added macros PBONE_SELECTABLE, EBONE_SELECTABLE 2012-10-05 05:27:51 +00:00
Campbell Barton
6e65c7842b replace ED_view3d_project_short_* with ED_view3d_project_int_*, when the result was converted to an int after.
also optimization for particle editmode key_test_depth() was projecting the screen coords, but all callers had already done this, so pass an arg.
2012-10-05 05:11:10 +00:00
Campbell Barton
2ba295bcd1 knife tool: avoid sqrt's for length comparison, and define KNIFE_FLT_EPS rather than using (FLT_EPSILON * 80). 2012-10-05 04:43:46 +00:00
Campbell Barton
07b52efa20 fix for bug in loop select, picking the active vert/edge/face was using global space checks on object space coordinates. this removes last use of ED_view3d_project_float_noclip(). 2012-10-05 04:18:52 +00:00
Campbell Barton
5770e44f43 replace most uses of ED_view3d_project_float_noclip() with ED_view3d_project_float_global/object 2012-10-05 03:57:56 +00:00
Campbell Barton
b9113f205c replace ED_view3d_project_float with ED_view3d_project_float_global 2012-10-05 03:20:14 +00:00
Campbell Barton
080f4441d2 Improvements for knife tool execute function (code was a bit sloppy & could leak memory).
- vertex to screenspace projections were not checking for failure to project (vertex behind the view for eg).
- vertex screenspace 2d vectors were each malloc'd and added to own ghash, then fetched for each edge.
  now just store a vertex aligned array and do index lookups.
- projections were done in global space, now do them in object space (avoids a matrix multiply).
- error cases were commented out and would fail silently, now report them to the operator.
- remove MAX_CUTS hard coded limit, dynamically allocate the mouse path.
- add missing free calls in error cases.
2012-10-05 03:06:01 +00:00
Campbell Barton
61ce7926d3 code cleanup: quiet warnings and use define for transform snap max distance. 2012-10-05 01:34:47 +00:00
Campbell Barton
7339b09e7f add ED_view3d_project_float_global, ED_view3d_project_float_object, ED_view3d_project_float_ex function calls and cleanup cursor3d set function which had some odd logic. 2012-10-05 01:27:28 +00:00
Brecht Van Lommel
fedc8e1722 Cycles: add "From Dupli" option for texture coordinate node. This gets the
Generated and UV coordinates from the duplicator of instance instead of the
object itself.

This was used in e.g. Big Buck Bunny for texturing instanced feathers with
a UV map on the bird. Many files changed, mainly to do some refactoring to
get rid of G.rendering global in duplilist code.
2012-10-04 21:40:39 +00:00
Brecht Van Lommel
984e9f9cc8 Mesh Deform Modifier: binding is now accelerated with a BVH tree, can make it
much faster for complex meshes. Patch by Joe Eager.
2012-10-04 21:40:10 +00:00
Sergey Sharybin
41202e25e7 Fix #32763: Image flickering appears if Movie Clip Editor and compositor opened
The issue was caused by compositor was allocating float buffer for image and
then this buffer was filled with data converted from byte buffer.

If display happens at time between float was allocated and it was filled black
areas were appearing on the screen.

Made it so IMB_float_from_rect locks color management thread so display
transform wouldn't use uninitialized buffer anymore.
2012-10-04 20:31:08 +00:00
Brecht Van Lommel
79b4c0e600 UI: buttons that open menus now align to the menu rather than looking disconnected.
Also fixed some cases where the menu was offset 1 or 2 pixels wrong, though not
quite all of them, still off by 1 pixel sometimes.

http://www.pasteall.org/pic/show.php?id=38478
2012-10-04 20:12:05 +00:00
Brecht Van Lommel
2a08c0dc56 Code cleanup: fix some clang checker warnings. 2012-10-04 20:11:54 +00:00
Bastien Montagne
592f80625b Fix for commit r51049: no need to create two contexts when one if enough.
Also please define and use constants in BLF_translation.h rather than directly typing contexts' names, it's safer (typo would break at compile time, instead of generating more contexts!).
2012-10-04 18:53:17 +00:00
Sergey Sharybin
63840fd505 Fix #32755: Stripes in Metastrip can not be moved on other channel with mouse (grab tool)
The issue was caused by SEQ_BEGIN macro modifying sequence's depth
which ruined transformation routines. Used own DFS instead which
doesn't modify sequences.

Also corrected some typos in api and comments.
2012-10-04 18:30:28 +00:00
Sv. Lockal
ab2a9de4b4 Add translation context for volume (Audio), pitch (Rotation) and rename tip->tooltip for custom properties
Tracked in [#31062] [2.6x] Context Ambiguity List & Discussion (keep updating)
2012-10-04 18:21:34 +00:00
Campbell Barton
e77004157e make ED_view3d_project_int equivalent to ED_view3d_project_short functions. 2012-10-04 17:52:12 +00:00
Campbell Barton
709903c6bb refactor ED_view3d_project_short & ED_view3d_project_short_noclip,
This is apart of a code cleanup to make  ED_view3d_project_short/ED_view3d_project_int/ED_view3d_project_float interchangeable. Currently they work very differently in a way thats quite confusing (and cause of bugs in blender that remain uncorrected) - fixes coming.

There are also cases where ED_view3d_project_short is used, then the values are converted from shorts into int's after because ED_view3d_project_int() behaves differently, will unify behavior of these functions after this commit.

- rather then clip/noclip versions, pass flags (for bound-box clip, window clip).
- rather then store the invalid clip-value, return success (or error value clip_near, clip_bb, clip_win, overflow).
- remove local copies of project functions from drawobject.c: view3d_project_short_clip, view3d_project_short_noclip, view3d_project_short_clip_persmat.


add functions:
- ED_view3d_project_short_global() global space projection
- ED_view3d_project_short_object() object space projection.
- ED_view3d_project_short_ex() take perspective matrix and local space option as args.
- ED_view3d_project_base() - special function to set the Object 'Base' screen coords (sx, sy), since this is a common enough operation.
2012-10-04 16:46:15 +00:00
Bastien Montagne
872cc0c4c0 Kind of cleanup of "menu strings": always have a space between the entry's label and value (these strings are a nightmare to handle in RTL languages like arabic or persian, but a bit less of a nightmare this way ;) ). 2012-10-04 13:59:14 +00:00