diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_constraint.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_constraint.c | 48 |
1 files changed, 42 insertions, 6 deletions
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c index d79f2c4d13f..d34885e1a68 100644 --- a/source/blender/makesrna/intern/rna_constraint.c +++ b/source/blender/makesrna/intern/rna_constraint.c @@ -1624,18 +1624,48 @@ static void rna_def_constraint_transform_like(BlenderRNA *brna) 0, "Replace", "Replace the original transformation with copied"}, + {0, "", 0, NULL, NULL}, + {TRANSLIKE_MIX_BEFORE_FULL, + "BEFORE_FULL", + 0, + "Before Original (Full)", + "Apply copied transformation before original, using simple matrix multiplication as if " + "the constraint target is a parent in Full Inherit Scale mode. " + "Will create shear when combining rotation and non-uniform scale"}, {TRANSLIKE_MIX_BEFORE, "BEFORE", 0, - "Before Original", - "Apply copied transformation before original, as if the constraint target is a parent. " - "Scale is handled specially to avoid creating shear"}, + "Before Original (Aligned)", + "Apply copied transformation before original, as if the constraint target is a parent in " + "Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels " + "for rotation and scale"}, + {TRANSLIKE_MIX_BEFORE_SPLIT, + "BEFORE_SPLIT", + 0, + "Before Original (Split Channels)", + "Apply copied transformation before original, handling location, rotation and scale " + "separately, similar to a sequence of three Copy constraints"}, + {0, "", 0, NULL, NULL}, + {TRANSLIKE_MIX_AFTER_FULL, + "AFTER_FULL", + 0, + "After Original (Full)", + "Apply copied transformation after original, using simple matrix multiplication as if " + "the constraint target is a child in Full Inherit Scale mode. " + "Will create shear when combining rotation and non-uniform scale"}, {TRANSLIKE_MIX_AFTER, "AFTER", 0, - "After Original", - "Apply copied transformation after original, as if the constraint target is a child. " - "Scale is handled specially to avoid creating shear"}, + "After Original (Aligned)", + "Apply copied transformation after original, as if the constraint target is a child in " + "Aligned Inherit Scale mode. This effectively uses Full for location and Split Channels " + "for rotation and scale"}, + {TRANSLIKE_MIX_AFTER_SPLIT, + "AFTER_SPLIT", + 0, + "After Original (Split Channels)", + "Apply copied transformation after original, handling location, rotation and scale " + "separately, similar to a sequence of three Copy constraints"}, {0, NULL, 0, NULL, NULL}, }; @@ -1653,6 +1683,12 @@ static void rna_def_constraint_transform_like(BlenderRNA *brna) RNA_define_lib_overridable(true); + prop = RNA_def_property(srna, "remove_target_shear", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", TRANSLIKE_REMOVE_TARGET_SHEAR); + RNA_def_property_ui_text( + prop, "Remove Target Shear", "Remove shear from the target transformation before combining"); + RNA_def_property_update(prop, NC_OBJECT | ND_CONSTRAINT, "rna_Constraint_update"); + prop = RNA_def_property(srna, "mix_mode", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "mix_mode"); RNA_def_property_enum_items(prop, mix_mode_items); |