Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Trickey <howard.trickey@gmail.com>2020-09-13 23:57:27 +0300
committerHoward Trickey <howard.trickey@gmail.com>2020-09-13 23:57:27 +0300
commitab7608af1bd40548cb79a0312f318a32d2fe8596 (patch)
tree7c547603b7c8de350044aaf4c237d1f0f630caa5 /source/blender/makesdna/DNA_modifier_types.h
parent9d674708ea7e0a5d7ac698784a7649d2ee73e4f8 (diff)
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.
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h8
1 files changed, 7 insertions, 1 deletions
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. */