Commit Graph

10681 Commits

Author SHA1 Message Date
4627f9d92c style edits and use macro for prefix check 2013-10-01 16:40:11 +00:00
Dalai Felinto
d2e55cb282 bugfix [#32346] Node animation, removing nodes keeps FCurves.
The same bug happens for modifiers, but better to address it separately.
Contribution and review by Lukas Toenne and Brecht van Lommel
2013-10-01 16:15:52 +00:00
d310e060d2 Fix use of uninitialized variable in recent node tree changes. 2013-10-01 15:37:01 +00:00
9883641f46 add assert for bone renaming, to check if the chanhash is still valid. 2013-10-01 13:28:59 +00:00
ffec71db84 Fix issues reported by coverity scan in recent changes to customdata code. 2013-10-01 12:48:41 +00:00
d370c7619f replace inline searches for BLI_findindex 2013-10-01 11:44:39 +00:00
Lukas Toenne
ff9f799d8b Yet another fix for node groups localization: The ntreeLocalMerge function can not be used to free localized node groups, because it is not commonly called to free the localized node trees. Instead these
data blocks are freed using the standard ntreeFreeTree function, so freeing localized node groups has to be done there. This means an ugly loop over G.main to detect localized groups, but should not be a
big problem in practice.
2013-10-01 09:29:56 +00:00
3073a5b1c4 Mark some CCG funcrions as inlined
This seems to be giving speedup up to 10% in own tests.

--
svn merge -r60104:60105 ^/branches/soc-2013-depsgraph_mt
2013-10-01 09:17:35 +00:00
Lukas Toenne
a4068d39de Fix for own commit r60468: All the localized node groups ended up in the main library ... This was because of the G.main check in ntreeCopyTree_internal, which determines whether a node tree gets put
into main or is an independent data block. This can now be controlled by passing an explicit Main pointer, so we can ensure localized node groups don't pollute main.
2013-10-01 08:55:38 +00:00
f1f7648d4c fix for error setting vector handles to free when both vector handles were selected but not the mid-point.
only one of the handles would be changed to the HD_FREE.

effected curves and fcurves.
2013-10-01 08:18:43 +00:00
Lukas Toenne
4cd7799364 Fix #36850, Material Node Editor Crash Always.
This problem was introduced with pynodes merge in r55373. It's caused by missing localization of node groups in shaders in cases where GLSL + node previews causes threading conflicts. I'm not quite sure why
we didn't do this before, but now all node groups also get localized recursively.
2013-10-01 08:18:16 +00:00
92527b9264 remove assert for poly_find_ear(), added recently but its incorrect, also minor style edits. 2013-10-01 03:56:02 +00:00
aaba317c76 Follow-up to r60433 (related to Bug #36878): additional checks for NULL line styles. 2013-09-30 23:02:29 +00:00
ab31941874 Fix [#36422] Trimmed audio files (hard cut only) in a metastrip have their trim removed
Meta sound update (seq_update_sound_bounds_recursive_rec) was not taking into account hard trim (anim_startofs) when setting sound's start, while default sound strip update (sound_move_scene_sound_defaults) did... This could use some refactor, though, with a single func used in both cases, to avoid such issue.

Also added soft trim to sound panel, only hard one was available.
2013-09-30 20:53:53 +00:00
78a8b2a883 add asserts for id property functions (ensure invalid types aren't passed) 2013-09-30 11:27:03 +00:00
2ddbb5d1e1 Fix for plane track jittering
Jittering was caused by homography not being estimated
accurate enough.

Before this, only algebraic estimation was used, which
is indeed not so much great, Now use algebraic estimation
followed with refinement step using Ceres minimizer.

The code was already there since keyframe selection patch,
made such estimation a generic function in multiview/ and
changed API for estimation in order to pass all additional
options via an options structure (the same way as it's
done fr Ceres).

This includes changes to both homography and fundamental
estimation.

TODO:
- Need to document Ceres functors better.
- Need to support homogeneous coordinates (currently
  only euclidean coords are supported).
2013-09-30 09:35:04 +00:00
b6ea073af2 more fixes relating to [#36878], freestyle was only checking for NULL linestyles in some places. 2013-09-30 09:28:43 +00:00
577e6e0290 Followup to r60416, we need to get cdlayers from bmesh everywhere! sorry... 2013-09-29 15:09:48 +00:00
af915b443a Fix [#36847] If Force Field in Ridgid Body group, crash at first frame of animation on playback
Not all objects in RB group actually have a "rigid body object", needs to be checked.
2013-09-29 13:38:56 +00:00
4829cf9cd0 Fix [#36830] 'Reset to Default Value' on Current Area Type button causes crash
Default default value for space types (0, i.e. SPACE_EMPTY) is not valid, use SPACE_VIEW3D instead.
2013-09-29 13:25:42 +00:00
8fa068d30a Fix [#36841] UV-Maps cannot be renamed in EditMode
Own error in r60260, in edit mode we need to use bmesh's cdata!
2013-09-29 06:47:07 +00:00
f18f2fbb33 Fix [#36831] Grease Pencil dont create a drawing in current frame less than 1
Only forbid negframes when user has not allowed them in whole Blender (userpref, editing). Else, it's more than annoying to not be able to draw negframed gpencil.
2013-09-28 19:28:41 +00:00
71958f0052 Fix [#36827] 2.69 bug with smoke domain, particle emitter and a force field causes a crash
fuel array might be null!
2013-09-28 05:06:02 +00:00
Lukas Toenne
640fc26c03 Fix #36630, Particlesystem - boids - goal - collision.
Problem was introduced with r54648, which determined the initial interval for the Newton-Raphson method using the "total_time" of the collision - but this info is only defined for regular collisions, not
for the raycasting used in boids to find the "ground object". To ensure correct behavior, now clear the collision info before using it (good practice in any case), then check the inv_total_time variable
and use the standard 0.001 step if not defined.
2013-09-27 13:45:47 +00:00
c3d3d8be36 Fix cycles issue with mapping node rotation and scale order. When using both
scale and rotation in mapping node, there would be shearing, and the only way
to avoid that was to add 2 mapping nodes. This is because to transform the
texture, the inverse transform needs to be done on the texture coordinate

Now the mapping node has Texture/Point/Vector/Normal types to transform the
vector for a particular purpose. Point is the existing behavior, Texture is
the new default that behaves more like you might expect.
2013-09-25 20:28:49 +00:00
3c05662f5e fix error where BKE_mesh_cd_validate layer renaming would use invalid index values. from r60260
also correct some comments.
2013-09-25 11:11:41 +00:00
c037e766fa fix [#36781] triangulation modifer creases
new geometry was initializing its original index to 0 (so all edges displayed with the first edges crease value).
now initialize to NONE.
2013-09-24 03:58:19 +00:00
5342d57a5e allocate bmesh data from known sizes where possible (was still using defaults in places),
add macros for initializing BMAllocTemplate's, also add assert on invalid use of bmesh_sfme()
2013-09-24 03:31:00 +00:00
9794c70f65 modifiers_isCorrectableDeformed now checks a modifier is enabled before returning true,
also check deformMatricesEM callback for modifier_isCorrectableDeformed() rather then checking modifier types.
2013-09-24 00:56:47 +00:00
fb591ea913 Fix #36793: missing update on undo with proxy object that is not using a proxy group. 2013-09-23 21:55:56 +00:00
Lukas Toenne
826a7db5c0 Fix #36797 make linked node groups local does not work. Node tree library functions where missing the ntreeMakeLocal entry, was still marked as 'not implemented'. 2013-09-23 08:20:16 +00:00
771e607e82 Fix [#36791]: Fire ignores force fields when smoke is set to 0.0 2013-09-22 16:09:31 +00:00
Dalai Felinto
1ce98989e5 bugfix: [#36786] customdata layers are not merging taken the names into consideration
(which is also "[#36749] Joining objects with more than one uv map depends on list order")

Thanks Bastien Montagne and Brecht van Lommel for reviewing and some advice.
2013-09-21 05:42:34 +00:00
2cca73eeb1 Fix [#36759] UV Project - Specified UV Map doesnt work properly
In fact, the issue was that names of mloopuv/mtespoly layers could very easily get out of sync (a simple rename was enough), while most tools (such as the UVProject modifier) expect matching layers to have the same name!

Now matching names are check on load, and renaming of a layer through RNA is guaranted to be synchronized with its counterparts.

Thanks to Brecht & Campbell for reviews.
2013-09-20 11:14:08 +00:00
d6b21df2e6 correct include guards and add checks in check_style_c.py for them. 2013-09-19 23:17:52 +00:00
16c31832f9 fix [#36625] Particle Instances ignores Group offsets
in fact this failed for all nested dupli types except for dupli-groups, (which ignore the 'par_space_mat' object_duplilist_recursive()).
2013-09-19 01:21:34 +00:00
01750b1e4b Fix warnings message on load about packed images:
ERROR: Image not available. Keeping packed image

This was due to recent bugfix for #36639, the image should only be reloaded if
the path actually changed and it's not a packed file.
2013-09-18 19:35:13 +00:00
996add7885 Fix memory leak that still existed when opening .blend file mesh data in older
Blender versions, previous fix only solved it for newer versions.

Fix a memory leak in packed files.
2013-09-18 18:55:12 +00:00
31acf4262d Fix #36754: animation not evaluated on object two levels down in dupligroups.
Depsgraph would only consider one level, now it works recursive.
2013-09-18 17:09:28 +00:00
0ac194687e style cleanup 2013-09-18 00:07:17 +00:00
63e4005039 Fix #36747: curve bevel and extrude issue
Was a small mistake in bevel list optimization,
no need to check whether first/last points are
the same coord if curve is not cyclic.
2013-09-17 11:00:09 +00:00
b9be47e91c Re-track the plane after clearing the keyframe
From the math point of view there're two cases:

- Clearing the keyframe between two other ones.

  In this case tracker will first track plane from
  left keyframe to right one without doing any kind
  of blending. This will make plane stick to the
  actual plane motion, but lead to possible jump
  at the right keyframe.

  Second step is to track from the right keyframe
  to the left one with blending. This gives nice
  transition at the point of second keyframe and
  this mimics situation when you've been setting
  keyframes from left to right.

- Clearing left-most/right-most keyframe.

  In this case it's enough to only re-track the
  plane without blending from the neighbor keyframe
  without blending.
2013-09-17 08:54:10 +00:00
6317f1eafd fix [#36291] Applying subsurf to mesh or setting subdivisions to zero crashes Blender
issue was mesh somehow had a mismatch of UV/texpoly layers. we may want to allow this in the future but for now sync on load just in case.
2013-09-16 06:00:25 +00:00
43bd8c2b28 Undo the front-facing only commit for clay strips brushes, it adds an
attenuation that should really be optional. There's also a minor
performance penalty and all this only for one problematic case. In case
the tool flattens two surfaces, users can manually set the front face
only option. A better non-attenuating way to cull such vertices can be
added later.

Also flatten brush should calculate the flatten plane from the original
vertices or the flattening will not converge for planes offsets
different than zero.

Reported by Michalis Zissiou, thanks!
2013-09-16 02:24:41 +00:00
abb37f4152 replace RNA_property_array_length with RNA_property_array_check where the length of the array is only used to check if the property is an array or not.
(this isnt reliable since arrays can be zero length).
2013-09-16 01:35:52 +00:00
e8ade192ff move editcurve add functions into their own source file editcurve_add.c 2013-09-16 00:03:33 +00:00
3306afac87 Cycles Hair: Two basic bair shaders added
A new hair bsdf node, with two closure options, is added. These closures allow the generation of the reflective and transmission components of hair. The node allows control of the highlight colour, roughness and angular shift.

Llimitations include:
-No glint or fresnel adjustments.
-The 'offset' is un-used when triangle primitives are used.
2013-09-15 23:58:00 +00:00
3403b7db8d use stack memory for deform weight interpolation. 2013-09-15 05:17:19 +00:00
9f87d9963e fix weird issue after last commit where grab brush would not work and
also warnings fix and description fix.
2013-09-14 00:35:41 +00:00
b1179c4752 Sculpting:
* Cleanup for previous commit and reduce some local variable referencing
* Add support for brushes that operate on frontfaces only and do not
show the option for those brushes. Currently only clay strips is in the
list but this may change according to artist feedback. This should take
care of the "sticky" surface problem completely.
2013-09-13 23:58:00 +00:00