From ab7608af1bd40548cb79a0312f318a32d2fe8596 Mon Sep 17 00:00:00 2001 From: Howard Trickey Date: Sun, 13 Sep 2020 16:57:27 -0400 Subject: Apply patch D8816, from Zachary(AFWS) for collection boolean operand. Also added code so that exact solver does the whole collection at once. This patch allows users to use a collection (as an alternative to Object) for the boolean modifier operand, and therefore get rid of a long modifier stack. --- source/blender/makesdna/DNA_modifier_types.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/makesdna') diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index a9f1d5bcfc4..9a5b5b8c2ca 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -861,26 +861,32 @@ typedef struct BooleanModifierData { ModifierData modifier; struct Object *object; + struct Collection *collection; + float double_threshold; char operation; char solver; char flag; char bm_flag; - float double_threshold; } BooleanModifierData; +/* BooleanModifierData->operation */ typedef enum { eBooleanModifierOp_Intersect = 0, eBooleanModifierOp_Union = 1, eBooleanModifierOp_Difference = 2, } BooleanModifierOp; +/* BooleanModifierData->solver */ typedef enum { eBooleanModifierSolver_Fast = 0, eBooleanModifierSolver_Exact = 1, } BooleanModifierSolver; +/* BooleanModifierData->flag */ enum { eBooleanModifierFlag_Self = (1 << 0), + eBooleanModifierFlag_Object = (1 << 1), + eBooleanModifierFlag_Collection = (1 << 2), }; /* bm_flag only used when G_DEBUG. */ -- cgit v1.2.3