diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-04-12 11:56:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-04-13 12:48:12 +0300 |
commit | 25c357124de8905360c44a5a842284089ddec341 (patch) | |
tree | d7f7de7c459d622366ba5b0a7caec720c97f35c7 /source/blender/makesdna/DNA_mesh_types.h | |
parent | da66c0519fce9bff981370868a359e64198552bc (diff) |
Cover some DNA files with C++ utility macros
Solves compilation warning with Clang, and moves manipulation with
DNA structures to the designed way for C++.
The tests and few other places are update to the new code by Jacques.
Ref T96847
Maniphest Tasks: T96847
Differential Revision: https://developer.blender.org/D14625
Diffstat (limited to 'source/blender/makesdna/DNA_mesh_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_mesh_types.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h index d8a853681fd..0ff9ebb2337 100644 --- a/source/blender/makesdna/DNA_mesh_types.h +++ b/source/blender/makesdna/DNA_mesh_types.h @@ -50,6 +50,8 @@ typedef struct EditMeshData { * #BKE_mesh_runtime_looptri_ensure, #BKE_mesh_runtime_looptri_len. */ struct MLoopTri_Store { + DNA_DEFINE_CXX_METHODS(MLoopTri_Store) + /* WARNING! swapping between array (ready-to-be-used data) and array_wip * (where data is actually computed) * shall always be protected by same lock as one used for looptris computing. */ @@ -60,6 +62,8 @@ struct MLoopTri_Store { /** Runtime data, not saved in files. */ typedef struct Mesh_Runtime { + DNA_DEFINE_CXX_METHODS(Mesh_Runtime) + /* Evaluated mesh for objects which do not have effective modifiers. * This mesh is used as a result of modifier stack evaluation. * Since modifier stack evaluation is threaded on object level we need some synchronization. */ @@ -138,6 +142,8 @@ typedef struct Mesh_Runtime { } Mesh_Runtime; typedef struct Mesh { + DNA_DEFINE_CXX_METHODS(Mesh) + ID id; /** Animation data (must be immediately after id for utilities to use it). */ struct AnimData *adt; @@ -336,6 +342,8 @@ typedef struct Mesh { /* deprecated by MTFace, only here for file reading */ #ifdef DNA_DEPRECATED_ALLOW typedef struct TFace { + DNA_DEFINE_CXX_METHODS(TFace) + /** The faces image for the active UVLayer. */ void *tpage; float uv[4][2]; |