Commit Graph

5713 Commits

Author SHA1 Message Date
40dd2b27e7 add rna path callback for material slots but disable animation.
without this - the info space would report an invalid rna-path when showing the string to change a value.
2013-10-01 04:49:47 +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
3ccb370d38 Usual UI messages fixes... 2013-09-30 19:30:56 +00:00
b21b24573d lots of operator descriptions were incorrectly copy/pasted.
update some descriptions, others were removed and operators tagged as internal.

add a script to detect duplicate operator descriptions.
2013-09-30 05:50:41 +00:00
fd9cb5a59e Fix [#36859] Grease Pencil - Frames.new() doesn't create frame if frame_number <= 0
Related to [#36831] (r60412), RNA was still forbidding negative frame numbers...
2013-09-29 18:12:07 +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
Dalai Felinto
c2afa5cfaf rna: implementing function to remove keymap from keyconfig
Thanks Campbell Barton for reviewing.
2013-09-27 14:05:07 +00:00
9aaeaae7e0 relating to [#36822], apply clamping to hard limits too 2013-09-27 11:06:33 +00:00
226d6fbfc5 Fix for the name of line style ID blocks, from "FreestyleLineStyle" to "Line Style". 2013-09-26 16:41:47 +00:00
ef2e1edca0 Use the brush icon rather than the particle icon for ID-block type of Freestyle line style, though that's still workaround.
We need a proper icon representing Freestyle line style.
2013-09-26 07:55:55 +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
752c1a8214 Fix [#36788] changing the built in keying set prints "attempt to free NULL pointer" to console. 2013-09-21 07:37:11 +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
Lukas Toenne
37b82a2d26 Fix #36226, Select Linked works not in touch with Prefs.
When setting keymap properties to values equalling the RNA default, they will
get "unset" and automatic operator behavior is used. There is no way to
explicitly set the default value as a user.

1) To allow distinguishing uninitialized (not set) properties in the keymap
items, a few changes to the RNA struct comparison function are needed: Instead
of allowing only strict/non-strict comparison of 2 properties A and B in a
struct, this now has 3 modes:
* STRICT: compare only the actual property values (same as 'strict' before)
* UNSET_MATCH_ANY: if either A or B is unset, consider them a match (same as
non-strict before)
* UNSET_MATCH_NONE: if one property is set and the other not, consider them a
mismatch.

The new UNSET_MATCH_NONE mode is useful for keymaps, because it allows keeping
user-defined property values in the keymap even if they match the default
property value (see wm_keymap_diff function in wm_keymap.c)

2) A new operator is added for unsetting ID properties in the RMB context menu
and in user preferences next to keymap properties. This only works on ID
properties and deletes the ID property storage, so that the default value is used.

In the user preferences for keymaps the properties are shown in an inactive
layout to indicate that the default value is used (which some operators such as
the "select linked" op from the report use to trigger automatic behavior). When
the user sets a property it gets set and stays that way until explicitly "unset"
using the new operator.
2013-09-20 09:10:17 +00:00
203c6effd5 code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.
also set_source_files_properties() wasn't working for rna_*_gen.c files,
set dna.c and generated data files with generated property too.
2013-09-20 06:35:28 +00:00
24b4304334 fix for nla-strip-path function not returning an allocated pointer and new mask function ignoring the name argument from RNA-api. 2013-09-20 06:23:09 +00:00
e9bcb8f518 remove unused modifier argument from ParticleSystem.co_hair 2013-09-20 06:20:07 +00:00
00c308893a fix [#36777] uv_on_emmiter make Blender crash 2013-09-20 05:30:37 +00:00
9d6f05edb8 fix relating to bug [#36758],
When printing operator reports, ommit unset properties.
This is needed because in some cases operators check if a value is set or not, so filling in default arguments may change behavior.
2013-09-18 01:22:28 +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
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
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
eb9f32776a Match free_normals_split with calc_normals_split names ;) 2013-09-13 12:13:30 +00:00
7fb3de281d change NODE_TREE_TYPES_BEGIN/END macros to include braces (matches CTX_DATA_BEGIN/END) 2013-09-13 08:45:20 +00:00
29cbf93b07 correct error in libmv stub, also correct typo. 2013-09-13 03:49:11 +00:00
cca746c8e6 Moved and renamed ED_pose_channel_in_IK_chain() ->
BKE_pose_channel_in_IK_chain()

This was needed for depsgraph work, and it's cleaner for RNA to have fewer
dependencies on editors
2013-09-13 03:03:46 +00:00
ec2464ac5f code cleanup: unnecessary shadowing and some minor pep8 edits. 2013-09-12 19:51:31 +00:00
Lukas Toenne
7bbb838935 Fix #36706: Added complementary API functions for the FileOutput node so file/layer slots (input sockets) can be added without using the operator. Instead of adding sockets to these node using the
node.inputs collection, the node.file_slots or node.layer_slots collections should be used. Both of them work, they just provide slightly different properties for use with simple files or multi-layer
EXR.

The FileOutput node design is cumbersome and should be considered broken. It should eventually be replaced, the problem with that is backward/forward compatibility.
2013-09-12 08:43:25 +00:00
f16047c2df Better fix for #36688.
Throw a python error if user attempts to use CurveMap without calling
CurveMapping.initialize() first. Added access to the initialize function
to CurveMapping on RNA level.

Thanks to Campbel for the help and remarks!
2013-09-11 23:28:23 +00:00
202109a8f5 code cleanup: set enums as static or add RNA_enum_types.h where they are used elsewhere.
also minor style cleanup.
2013-09-11 21:27:14 +00:00
a144793af1 fix uninitalized var with new normal calculation function. 2013-09-11 21:23:09 +00:00
1b55158753 Fix use of uninitialized variable in new Mesh.calc_normals_split. 2013-09-11 18:57:58 +00:00
17d749eaad replace inline index lookup with BLI_findindex 2013-09-11 07:36:40 +00:00
Nathan Letwory
801b8430a2 Add read-only access to index data for current line, top line and visible lines count. 2013-09-11 07:23:23 +00:00
734eaab545 Fix #36327: cycles render layers exclude layers animation did not work well.
This is kind of another way to animate layers which is disabled, but add an
exception to make this case work.
2013-09-10 20:26:34 +00:00
92d94ccb08 misc minor changes
- make cmake osx use of -ftemplate-depth match scons.
- use array size within sizeof(), more compact.
- replace AT with __func__ where the function is unique enough.
- BLI_box_pack_2D -> 2d to match other functions.
- rename new mesh normal calculation to mesh.calc_normals_split()
2013-09-10 19:23:39 +00:00
135f6a72d4 Split normals API, to get per-vertex per-face normals, useful to export sharp edges in a compatible way.
Many thanks to Campbell and Brecht for reviews.
2013-09-10 15:26:12 +00:00
e72c6f191f Tweaks to plane track
- Do plane re-evaluation only when transform is actually done.
  Before this re-evaluation happened on every mouse move.

- Added a flag "Auto Keyframe" for the plane track, which does:

  * If Auto Keyframe is enabled, then every manual edit of the
    plane will create a new keyframe at current frame and update
    plane motion between current frame and previous/next keyframe.

    This now also implies blending detected motion with neighbor
    keyframes, so there's no jump happening.

    No automatic update on manual point tracks edit will happen.

  * If auto Keyframe is disabled, then no keyframes are adding
    to the plane and every plane tweak will re-evaluate in on
    the whole frame range.

    In this case manual tweaks to point tracks and re-tracking
    them implies plane re-evaluation.
2013-09-10 12:46:18 +00:00
Lukas Toenne
4e9145fa1c makesrna fix: The C++ wrapper functions for collection lookup (both int and string) were not clearing the return pointer if no item is found, but only in case there is a custom lookup function defined.
This causes trouble with Cycles because the C++ API uses the returned pointer to determine validity - if no item is found the pointer should be NULL for checking.
2013-09-10 08:27:13 +00:00
83b2eefd09 Usual UI messages fixes... 2013-09-09 20:22:01 +00:00
00641bb237 Attempt fix for #36688.
Curves may not be not initialized when called from python. C code
explicilty says that curvemapping_initialize should be called prior to
evaluating the curve, however the curve clip rectangle is not available
when calling evaluation on the curvemap. This is not possible unless we
force the evaluation on CurveMapping level, not on CurveMap level.

For now just pass a rectangle with the x boundary values of the curvemap
for evaluation to avoid the crash.
2013-09-09 18:39:51 +00:00
cf8cddf07a Film response curves implemented as a looks
This commit implement's OCIO's Looks idea which
is about applying some color correction on the
buffer before it get's affected by a display
transform.

This is mainly used to modify images in an
artistics way.

Currently we've got looks generated from film
response curves for all sorts of cameras.

Patch by both of me and Brecht.
2013-09-09 09:48:26 +00:00
470dc6de4b Some fixes to tips... 2013-09-08 14:01:14 +00:00
e492fad130 shrink-wrap constraint, improve and remove some limitations.
- ability to change the space the axis is projected in (so you can choose worldspace or -space, was always local-space before).
- support projecting on a negative axis, without this some very simple clamping is not possible if the direction happened not to be positive.
- add distance limit (same as modifier), without this single meshes surrounding an object would make the constraint impossible to use in some cases (it would snap to the wrong side).

note: this removes the ability to project on multiple axes at once but this option only added up directions and didnt project on multiple axes as you might expect.
2013-09-07 12:59:16 +00:00
ec986b2c34 rna wrap WM_cursor_warp 2013-09-06 23:17:29 +00:00
2c688788e6 wrap cursor setting so python can make use of it, eg:
- win.cursor_set('WAIT')
- win.cursor_modal_set('TEXT')
- win.cursor_modal_restore()
2013-09-06 22:54:22 +00:00
35cd649c66 rename cursor setting functions to make modal set/restore more clearly related functions. 2013-09-06 22:34:29 +00:00
f6b37f34ec code cleanup:
- add missing headers from cmake (own omission)
- quiet rna_test.c unused define warnings.
- minor style edits
- spelling corrections and ignore all uppercase words with spell checking script.
2013-09-05 19:56:49 +00:00
d4b8a6cb85 Code cleanup: use boolean instead of int for colormanagement 2013-09-05 17:13:43 +00:00