diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-03-29 11:53:25 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-03-29 12:04:50 +0300 |
commit | c772461741462a8c0b83309676a49e41eb0e81cc (patch) | |
tree | fbd8189adeeb5a639c7e33eaf694cb468c1b6d79 /source/blender/blenkernel | |
parent | a264dff4fa7dd0bb2e3c9abe805376b730d28c34 (diff) |
Cleanup: Use higher level semantic for zeroing DNA objects in C++
Replaces old-style memzero-style of call with zero-initializer.
Allows to shorten typical initialization code to a single line:
Object foo = blender::dna::shallow_zero_initialize<Object>()
This will allow to more easily convert designated initializer
which is often used to fill object with zeroes to the explicit
function calls:
MyDNAStruct foo = {};
will be translated to
MyDNAStruct foo = blender::dna::shallow_zero_initialize<MyDNAStruct>();
Differential Revision: https://developer.blender.org/D14486
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/mesh_convert.cc | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/object.cc | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/mesh_convert.cc b/source/blender/blenkernel/intern/mesh_convert.cc index abf106164f7..bf9525d5c90 100644 --- a/source/blender/blenkernel/intern/mesh_convert.cc +++ b/source/blender/blenkernel/intern/mesh_convert.cc @@ -910,8 +910,7 @@ static void curve_to_mesh_eval_ensure(Object &object) * * So we create temporary copy of the object which will use same data as the original bevel, but * will have no modifiers. */ - Object bevel_object; - blender::dna::zero_memory(bevel_object); + Object bevel_object = blender::dna::shallow_zero_initialize<Object>(); if (curve.bevobj != nullptr) { bevel_object = blender::dna::shallow_copy(*curve.bevobj); BLI_listbase_clear(&bevel_object.modifiers); @@ -920,8 +919,7 @@ static void curve_to_mesh_eval_ensure(Object &object) } /* Same thing for taper. */ - Object taper_object; - blender::dna::zero_memory(taper_object); + Object taper_object = blender::dna::shallow_zero_initialize<Object>(); if (curve.taperobj != nullptr) { taper_object = blender::dna::shallow_copy(*curve.taperobj); BLI_listbase_clear(&taper_object.modifiers); diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc index 4714a79de58..6006ce88896 100644 --- a/source/blender/blenkernel/intern/object.cc +++ b/source/blender/blenkernel/intern/object.cc @@ -1236,7 +1236,7 @@ IDTypeInfo IDType_ID_OB = { void BKE_object_workob_clear(Object *workob) { - blender::dna::zero_memory(*workob); + *workob = blender::dna::shallow_zero_initialize<Object>(); workob->scale[0] = workob->scale[1] = workob->scale[2] = 1.0f; workob->dscale[0] = workob->dscale[1] = workob->dscale[2] = 1.0f; |