diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2021-07-25 20:29:45 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2021-07-25 20:29:45 +0300 |
commit | 0aad8100ae5cfb4273cf55e35caf59eaf448f070 (patch) | |
tree | cc9005a6a4e24ce7a21b3a723c86aceae1a0fb48 /source/blender/blenlib/BLI_float4x4.hh | |
parent | aa32121174711acd341d29cd93d35c5560c5eedc (diff) |
Fix T89391, etc. Boolean bugs when objects have negative scale.
The old modifier code, now just used for Fast, has code in it to
flip faces of arguments when their tranform's negativity differs
from the main object's transform's negativity.
I had neglected to put that logic in when I made the change that
skipped the round trip through BMesh.
Fixing this means that the results are more what the user expects
when some or all operands have negative scales.
Diffstat (limited to 'source/blender/blenlib/BLI_float4x4.hh')
-rw-r--r-- | source/blender/blenlib/BLI_float4x4.hh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenlib/BLI_float4x4.hh b/source/blender/blenlib/BLI_float4x4.hh index 8ff4f94f95c..347ce2caa34 100644 --- a/source/blender/blenlib/BLI_float4x4.hh +++ b/source/blender/blenlib/BLI_float4x4.hh @@ -218,6 +218,11 @@ struct float4x4 { return result; } + bool is_negative() const + { + return is_negative_m4(ptr()); + } + uint64_t hash() const { uint64_t h = 435109; |