forked from bartvdbraak/blender
LineArt: Invert collection option.
Allows conveniently selecting an inverse of a collection. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D13846
This commit is contained in:
parent
e1e3043a51
commit
40c8e23d48
@ -314,7 +314,9 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
||||
uiItemR(layout, ptr, "source_object", 0, NULL, ICON_OBJECT_DATA);
|
||||
}
|
||||
else if (source_type == LRT_SOURCE_COLLECTION) {
|
||||
uiItemR(layout, ptr, "source_collection", 0, NULL, ICON_OUTLINER_COLLECTION);
|
||||
uiLayout *sub = uiLayoutRow(layout, true);
|
||||
uiItemR(sub, ptr, "source_collection", 0, NULL, ICON_OUTLINER_COLLECTION);
|
||||
uiItemR(sub, ptr, "use_invert_collection", 0, "", ICON_ARROW_LEFTRIGHT);
|
||||
}
|
||||
else {
|
||||
/* Source is Scene. */
|
||||
|
@ -4363,8 +4363,15 @@ static void lineart_gpencil_generate(LineartCache *cache,
|
||||
continue;
|
||||
}
|
||||
if (orig_col && ec->object_ref) {
|
||||
if (!BKE_collection_has_object_recursive_instanced(orig_col, (Object *)ec->object_ref)) {
|
||||
continue;
|
||||
if (BKE_collection_has_object_recursive_instanced(orig_col, (Object *)ec->object_ref)) {
|
||||
if (modifier_flags & LRT_GPENCIL_INVERT_COLLECTION) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!(modifier_flags & LRT_GPENCIL_INVERT_COLLECTION)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mask_switches & LRT_GPENCIL_MATERIAL_MASK_ENABLE) {
|
||||
|
@ -989,6 +989,7 @@ typedef enum eLineArtGPencilModifierFlags {
|
||||
LRT_GPENCIL_IS_BAKED = (1 << 3),
|
||||
LRT_GPENCIL_USE_CACHE = (1 << 4),
|
||||
LRT_GPENCIL_OFFSET_TOWARDS_CUSTOM_CAMERA = (1 << 5),
|
||||
LRT_GPENCIL_INVERT_COLLECTION = (1 << 6),
|
||||
} eLineArtGPencilModifierFlags;
|
||||
|
||||
typedef enum eLineartGpencilMaskSwitches {
|
||||
|
@ -3446,6 +3446,13 @@ static void rna_def_modifier_gpencillineart(BlenderRNA *brna)
|
||||
"Trim all edges right at the boundary of image(including overscan region)");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
prop = RNA_def_property(srna, "use_invert_collection", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", LRT_GPENCIL_INVERT_COLLECTION);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Invert Collection Filtering",
|
||||
"Select everything except lines from specified collection");
|
||||
RNA_def_property_update(prop, 0, "rna_GpencilModifier_update");
|
||||
|
||||
RNA_define_lib_overridable(false);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user