[Bf-blender-cvs] [ff085e85d3d] master: DNA: move View3D, View3DOverlay into DNA_view3d_defaults.h

Campbell Barton noreply at git.blender.org
Wed Sep 11 22:49:26 CEST 2019


Commit: ff085e85d3d9824cb0f0b11272e618f6d3272293
Author: Campbell Barton
Date:   Thu Sep 12 06:48:13 2019 +1000
Branches: master
https://developer.blender.org/rBff085e85d3d9824cb0f0b11272e618f6d3272293

DNA: move View3D, View3DOverlay into DNA_view3d_defaults.h

===================================================================

M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/editors/space_view3d/CMakeLists.txt
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/makesdna/DNA_view3d_defaults.h
M	source/blender/makesdna/intern/dna_defaults.c
M	source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 0e2f6e2184e..4bf2f53f8f7 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -51,6 +51,7 @@ set(INC
   ../../../extern/curve_fit_nd
   ../../../intern/smoke/extern
 
+  # dna_type_offsets.h
   ${CMAKE_CURRENT_BINARY_DIR}/../makesdna/intern
 )
 
diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index dc375958eb4..7c75f0ea907 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -33,6 +33,9 @@ set(INC
   ../../../../intern/glew-mx
   ../../../../intern/guardedalloc
   ../../../../intern/smoke/extern
+
+  # dna_type_offsets.h
+  ${CMAKE_CURRENT_BINARY_DIR}/../../makesdna/intern
 )
 
 set(INC_SYS
@@ -96,3 +99,6 @@ if(WITH_MOD_SMOKE)
 endif()
 
 blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
+
+# Needed so we can use dna_type_offsets.h for defaults initialization.
+add_dependencies(bf_editor_space_view3d bf_dna)
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index a8f662991b6..e9a834cb6a1 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -29,6 +29,7 @@
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_gpencil_types.h"
+#include "DNA_defaults.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -247,56 +248,11 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene)
   View3D *v3d;
   RegionView3D *rv3d;
 
-  v3d = MEM_callocN(sizeof(View3D), "initview3d");
-  v3d->spacetype = SPACE_VIEW3D;
+  v3d = DNA_struct_default_alloc(View3D);
+
   if (scene) {
     v3d->camera = scene->camera;
   }
-  v3d->scenelock = true;
-  v3d->grid = 1.0f;
-  v3d->gridlines = 16;
-  v3d->gridsubdiv = 10;
-  BKE_screen_view3d_shading_init(&v3d->shading);
-
-  v3d->overlay.wireframe_threshold = 1.0f;
-  v3d->overlay.xray_alpha_bone = 0.5f;
-  v3d->overlay.texture_paint_mode_opacity = 1.0f;
-  v3d->overlay.weight_paint_mode_opacity = 1.0f;
-  v3d->overlay.vertex_paint_mode_opacity = 1.0f;
-  /* Intentionally different to vertex/paint mode,
-   * we typically want to see shading too. */
-  v3d->overlay.sculpt_mode_mask_opacity = 0.75f;
-
-  v3d->overlay.edit_flag = V3D_OVERLAY_EDIT_FACES | V3D_OVERLAY_EDIT_SEAMS |
-                           V3D_OVERLAY_EDIT_SHARP | V3D_OVERLAY_EDIT_FREESTYLE_EDGE |
-                           V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_EDGES |
-                           V3D_OVERLAY_EDIT_CREASES | V3D_OVERLAY_EDIT_BWEIGHTS |
-                           V3D_OVERLAY_EDIT_CU_HANDLES | V3D_OVERLAY_EDIT_CU_NORMALS;
-
-  v3d->gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR | V3D_SHOW_ORTHO_GRID;
-
-  v3d->flag = V3D_SELECT_OUTLINE;
-  v3d->flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_ANNOTATION;
-
-  v3d->lens = 50.0f;
-  v3d->clip_start = 0.01f;
-  v3d->clip_end = 1000.0f;
-
-  v3d->overlay.gpencil_paper_opacity = 0.5f;
-  v3d->overlay.gpencil_grid_opacity = 0.9f;
-
-  v3d->bundle_size = 0.2f;
-  v3d->bundle_drawtype = OB_PLAINAXES;
-
-  /* stereo */
-  v3d->stereo3d_camera = STEREO_3D_ID;
-  v3d->stereo3d_flag |= V3D_S3D_DISPPLANE;
-  v3d->stereo3d_convergence_alpha = 0.15f;
-  v3d->stereo3d_volume_alpha = 0.05f;
-
-  /* grease pencil settings */
-  v3d->vertex_opacity = 1.0f;
-  v3d->gp_flag |= V3D_GP_SHOW_EDIT_LINES;
 
   /* tool header */
   ar = MEM_callocN(sizeof(ARegion), "tool header for view3d");
diff --git a/source/blender/makesdna/DNA_view3d_defaults.h b/source/blender/makesdna/DNA_view3d_defaults.h
index 2964e77a421..365b1993d80 100644
--- a/source/blender/makesdna/DNA_view3d_defaults.h
+++ b/source/blender/makesdna/DNA_view3d_defaults.h
@@ -48,6 +48,27 @@
     .studiolight_intensity = 1.0f, \
   }
 
+#define _DNA_DEFAULT_View3DOverlay \
+  { \
+    .wireframe_threshold = 1.0f, \
+    .xray_alpha_bone = 0.5f, \
+    .texture_paint_mode_opacity = 1.0f, \
+    .weight_paint_mode_opacity = 1.0f, \
+    .vertex_paint_mode_opacity = 1.0f, \
+    /* Intentionally different to vertex/paint mode, \
+     * we typically want to see shading too. */ \
+    .sculpt_mode_mask_opacity = 0.75f, \
+ \
+    .edit_flag = V3D_OVERLAY_EDIT_FACES | V3D_OVERLAY_EDIT_SEAMS | \
+                             V3D_OVERLAY_EDIT_SHARP | V3D_OVERLAY_EDIT_FREESTYLE_EDGE | \
+                             V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_EDGES | \
+                             V3D_OVERLAY_EDIT_CREASES | V3D_OVERLAY_EDIT_BWEIGHTS | \
+                             V3D_OVERLAY_EDIT_CU_HANDLES | V3D_OVERLAY_EDIT_CU_NORMALS, \
+ \
+    .gpencil_paper_opacity = 0.5f, \
+    .gpencil_grid_opacity = 0.9f, \
+  }
+
 #define _DNA_DEFAULT_View3DCursor \
   { \
     .rotation_mode = ROT_MODE_XYZ, \
@@ -55,6 +76,39 @@
     .rotation_axis = {0, 1, 0}, \
   }
 
+#define _DNA_DEFAULT_View3D \
+  { \
+    .spacetype = SPACE_VIEW3D, \
+    .scenelock = true, \
+    .grid = 1.0f, \
+    .gridlines = 16, \
+    .gridsubdiv = 10, \
+    .shading = _DNA_DEFAULT_View3DShading, \
+    .overlay = _DNA_DEFAULT_View3DOverlay, \
+ \
+    .gridflag = V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_FLOOR | V3D_SHOW_ORTHO_GRID, \
+ \
+    .flag = V3D_SELECT_OUTLINE, \
+    .flag2 = V3D_SHOW_RECONSTRUCTION | V3D_SHOW_ANNOTATION, \
+ \
+    .lens = 50.0f, \
+    .clip_start = 0.01f, \
+    .clip_end = 1000.0f, \
+ \
+    .bundle_size = 0.2f, \
+    .bundle_drawtype = OB_PLAINAXES, \
+ \
+    /* stereo */ \
+    .stereo3d_camera = STEREO_3D_ID, \
+    .stereo3d_flag = V3D_S3D_DISPPLANE, \
+    .stereo3d_convergence_alpha = 0.15f, \
+    .stereo3d_volume_alpha = 0.05f, \
+ \
+    /* Grease pencil settings. */ \
+    .vertex_opacity = 1.0f, \
+    .gp_flag = V3D_GP_SHOW_EDIT_LINES, \
+  }
+
 /** \} */
 
 /* clang-format on */
diff --git a/source/blender/makesdna/intern/dna_defaults.c b/source/blender/makesdna/intern/dna_defaults.c
index 7aecbb1789e..289b2e1df34 100644
--- a/source/blender/makesdna/intern/dna_defaults.c
+++ b/source/blender/makesdna/intern/dna_defaults.c
@@ -69,6 +69,7 @@
 #include "DNA_meta_types.h"
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
+#include "DNA_space_types.h"
 #include "DNA_speaker_types.h"
 #include "DNA_texture_types.h"
 #include "DNA_world_types.h"
@@ -145,6 +146,9 @@ SDNA_DEFAULT_DECL_STRUCT(Speaker);
 /* DNA_texture_defaults.h */
 SDNA_DEFAULT_DECL_STRUCT(Tex);
 
+/* DNA_view3d_defaults.h */
+SDNA_DEFAULT_DECL_STRUCT(View3D);
+
 /* DNA_world_defaults.h */
 SDNA_DEFAULT_DECL_STRUCT(World);
 
@@ -250,7 +254,9 @@ const void *DNA_default_table[SDNA_TYPE_MAX] = {
     SDNA_DEFAULT_DECL_EX(WalkNavigation, UserDef.walk_navigation),
 
     /* DNA_view3d_defaults.h */
-    SDNA_DEFAULT_DECL_EX(View3DShading, Scene.display.shading),
+    SDNA_DEFAULT_DECL(View3D),
+    SDNA_DEFAULT_DECL_EX(View3DOverlay, View3D.overlay),
+    SDNA_DEFAULT_DECL_EX(View3DShading, View3D.shading),
     SDNA_DEFAULT_DECL_EX(View3DCursor, Scene.cursor),
 
     /* DNA_world_defaults.h */
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index b4b124b10bc..da30abb6e7a 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -3305,7 +3305,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
   RNA_def_property_ui_text(prop, "Grid Scale", "Distance between 3D View grid lines");
   RNA_def_property_range(prop, 0.0f, FLT_MAX);
   RNA_def_property_ui_range(prop, 0.001f, 1000.0f, 0.1f, 3);
-  RNA_def_property_float_default(prop, 1.0f);
   RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
   prop = RNA_def_property(srna, "grid_lines", PROP_INT, PROP_NONE);
@@ -3313,14 +3312,12 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
   RNA_def_property_ui_text(
       prop, "Grid Lines", "Number of grid lines to display in perspective view");
   RNA_def_property_range(prop, 0, 1024);
-  RNA_def_property_int_default(prop, 16);
   RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
   prop = RNA_def_property(srna, "grid_subdivisions", PROP_INT, PROP_NONE);
   RNA_def_property_int_sdna(prop, NULL, "gridsubdiv");
   RNA_def_property_ui_text(prop, "Grid Subdivisions", "Number of subdivisions between grid lines");
   RNA_def_property_range(prop, 1, 1024);
-  RNA_def_property_int_default(prop, 10);
   RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
   prop = RNA_def_property(srna, "grid_scale_unit", PROP_FLOAT, PROP_NONE);
@@ -3393,7 +3390,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "xray_alpha_bone", PROP_FLOAT, PROP_FACTOR);
   RNA_def_property_float_sdna(prop, NULL, "overlay.xray_alpha_bone");
-  RNA_def_property_float_default(prop, 0.5f);
   RNA_def_property_ui_text(prop, "Opacity", "Opacity to use for bone selection");
   RNA_def_property_range(prop, 0.0f, 1.0f);
   RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
@@ -3426,7 +3422,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "wireframe_threshold", PROP_FLOAT, PROP_FACTOR);
   RNA_def_property_float_sdna(prop, NULL, "overlay.wireframe_threshold");
-  RNA_def_property_float_default(prop, 0.5f);
   RNA_def_property_ui_text(
       prop, "Wireframe Threshold", "Adjust the number of wires displayed (1 for all wires)");
   RNA_def_property_range(prop, 0.0f, 1.0f);
@@ -3593,7 +3588,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "texture_paint_mode_opacity", PROP_FLOAT, PROP_FACTOR);
   RNA_def_property_float_sdna(prop, NULL, "overlay.texture_paint_mode_opacity");
-  RNA_def_property_float_default(prop, 1.0f);
   RNA_def_property_ui_text(
       prop, "Stencil Opacity", "Opacity of the texture paint mode stencil mask overlay");
   RNA_def_property_range(prop, 0.0f, 1.0f);
@@ -3601,7 +3595,6 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "vertex_paint_mode_opacity", P

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list