diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2021-04-22 17:37:10 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2021-04-22 17:37:10 +0300 |
commit | edf1b833674a6e54df7a16c14f0c6193fbbb482e (patch) | |
tree | 63ec3212aadcf08c4fbf96bc033615949dcf2980 /source/blender/modifiers/intern | |
parent | 4162d177a229d1a50104d7fe2b6b665fb7430d02 (diff) | |
parent | d1ccc5b9694b7c737158f4d4bd83ae780b32d258 (diff) |
Merge branch 'master' into temp-gpencil-masking
Conflicts:
source/blender/blenloader/intern/versioning_300.c
Diffstat (limited to 'source/blender/modifiers/intern')
-rw-r--r-- | source/blender/modifiers/intern/MOD_mirror.c | 7 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_nodes.cc | 15 |
2 files changed, 20 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c index afe94d8dead..b800ce7f803 100644 --- a/source/blender/modifiers/intern/MOD_mirror.c +++ b/source/blender/modifiers/intern/MOD_mirror.c @@ -165,6 +165,13 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel) uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_mirror_merge")); uiItemR(sub, ptr, "merge_threshold", 0, "", ICON_NONE); + bool is_bisect_set[3]; + RNA_boolean_get_array(ptr, "use_bisect_axis", is_bisect_set); + + sub = uiLayoutRow(col, true); + uiLayoutSetActive(sub, is_bisect_set[0] || is_bisect_set[1] || is_bisect_set[2]); + uiItemR(sub, ptr, "bisect_threshold", 0, IFACE_("Bisect Distance"), ICON_NONE); + modifier_panel_end(layout, ptr); } diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc index 53b79d0b2a5..57de629fc18 100644 --- a/source/blender/modifiers/intern/MOD_nodes.cc +++ b/source/blender/modifiers/intern/MOD_nodes.cc @@ -271,6 +271,17 @@ static bool isDisabled(const struct Scene *UNUSED(scene), return false; } +static bool logging_enabled(const ModifierEvalContext *ctx) +{ + if (!DEG_is_active(ctx->depsgraph)) { + return false; + } + if ((ctx->flag & MOD_APPLY_ORCO) != 0) { + return false; + } + return true; +} + class GeometryNodesEvaluator { public: using LogSocketValueFn = std::function<void(DSocket, Span<GPointer>)>; @@ -1290,7 +1301,7 @@ static GeometrySet compute_geometry(const DerivedNodeTree &tree, find_sockets_to_preview(nmd, ctx, tree, preview_sockets); auto log_socket_value = [&](const DSocket socket, const Span<GPointer> values) { - if (!DEG_is_active(ctx->depsgraph)) { + if (!logging_enabled(ctx)) { return; } Span<uint64_t> keys = preview_sockets.lookup(socket); @@ -1401,7 +1412,7 @@ static void modifyGeometry(ModifierData *md, return; } - if (DEG_is_active(ctx->depsgraph)) { + if (logging_enabled(ctx)) { reset_tree_ui_storage(tree.used_node_tree_refs(), *ctx->object, *md); } |