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:
authorCampbell Barton <ideasman42@gmail.com>2019-09-09 15:32:34 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-09-09 16:17:03 +0300
commitf5e0dfe59c7e748907f955f848264751ed0967f0 (patch)
treea4bf4369b1076ffd7f449061f04d2813ce715a15 /source/blender/makesdna/DNA_view3d_defaults.h
parente164afe9b5f98fe1ddb2ce063e1df9e9926cacfd (diff)
DNA: initial DNA defaults support
This provides an API to access structs with their members set to default values: - DNA_struct_default_get(name) - DNA_struct_default_alloc(name) Currently this is only used for scene & view shading initialization, eventually it can be used for RNA defaults and initializing DNA struct members on file reading.
Diffstat (limited to 'source/blender/makesdna/DNA_view3d_defaults.h')
-rw-r--r--source/blender/makesdna/DNA_view3d_defaults.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_view3d_defaults.h b/source/blender/makesdna/DNA_view3d_defaults.h
new file mode 100644
index 00000000000..2964e77a421
--- /dev/null
+++ b/source/blender/makesdna/DNA_view3d_defaults.h
@@ -0,0 +1,62 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup DNA
+ */
+
+#ifndef __DNA_VIEW3D_DEFAULTS_H__
+#define __DNA_VIEW3D_DEFAULTS_H__
+
+/* Struct members on own line. */
+/* clang-format off */
+
+/* -------------------------------------------------------------------- */
+/** \name Viewport Struct
+ * \{ */
+
+#define _DNA_DEFAULT_View3DShading \
+ { \
+ .type = OB_SOLID, \
+ .prev_type = OB_SOLID, \
+ .flag = V3D_SHADING_SPECULAR_HIGHLIGHT | V3D_SHADING_XRAY_WIREFRAME | \
+ V3D_SHADING_SCENE_LIGHTS_RENDER | V3D_SHADING_SCENE_WORLD_RENDER, \
+ .light = V3D_LIGHTING_STUDIO, \
+ .shadow_intensity = 0.5f, \
+ .xray_alpha = 0.5f, \
+ .xray_alpha_wire = 0.5f, \
+ .cavity_valley_factor = 1.0f, \
+ .cavity_ridge_factor = 1.0f, \
+ .cavity_type = V3D_SHADING_CAVITY_CURVATURE, \
+ .curvature_ridge_factor = 1.0f, \
+ .curvature_valley_factor = 1.0f, \
+ .single_color = {0.8f, 0.8f, 0.8f}, \
+ .background_color = {0.05f, 0.05f, 0.05f}, \
+ .studiolight_intensity = 1.0f, \
+ }
+
+#define _DNA_DEFAULT_View3DCursor \
+ { \
+ .rotation_mode = ROT_MODE_XYZ, \
+ .rotation_quaternion = {1, 0, 0, 0}, \
+ .rotation_axis = {0, 1, 0}, \
+ }
+
+/** \} */
+
+/* clang-format on */
+
+#endif /* __DNA_VIEW3D_DEFAULTS_H__ */