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:
authorHenrik Dick <weasel>2020-12-02 15:09:26 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-12-02 15:22:37 +0300
commitec39d8de4adf46161d81fb525a73278fe08a8704 (patch)
tree2dd0459eda48f20b692015466e958c224868a71a /source/blender/editors/transform/transform_ops.c
parentda8dc204bd062b2712869cf2709d2530915249b5 (diff)
Transform: Correct Mirror for Object Mode along arbitrary axis
This fixes T68521, T82334. The object are not properly mirrored in object mode. For mirroring an object that has an arbitrary rotation along the X axis this is the procedure: 1. mirror x location. 2. negate x scale of the 3. negate y and z component of the rotation (independent of which rotation mode is used). This knowledge applies now for all angles and axes to finally make the mirror operation work in object mode. The new mirror function has the downside that it can not (in this form) be used with proportional editing. This is no problem since the old behavior can still be replicated by scaling with -1 along any axis. The solution to get perfect mirrors can not work for scaling in general, because in that case there could be scew created. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D9625
Diffstat (limited to 'source/blender/editors/transform/transform_ops.c')
-rw-r--r--source/blender/editors/transform/transform_ops.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index aeb34e34d97..7282c35ea0f 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -1040,8 +1040,7 @@ static void TRANSFORM_OT_mirror(struct wmOperatorType *ot)
ot->poll = ED_operator_screenactive;
ot->poll_property = transform_poll_property;
- Transform_Properties(
- ot, P_ORIENT_MATRIX | P_CONSTRAINT | P_PROPORTIONAL | P_GPENCIL_EDIT | P_CENTER);
+ Transform_Properties(ot, P_ORIENT_MATRIX | P_CONSTRAINT | P_GPENCIL_EDIT | P_CENTER);
}
static void TRANSFORM_OT_bbone_resize(struct wmOperatorType *ot)