[Bf-blender-cvs] [6444572c46d] custom-manipulators: Cleanup: only expose base struct for manipulator geometry

Campbell Barton noreply at git.blender.org
Thu Apr 6 08:33:33 CEST 2017


Commit: 6444572c46deb1759675e119c3a55a547f0cb41b
Author: Campbell Barton
Date:   Thu Apr 6 16:33:06 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rB6444572c46deb1759675e119c3a55a547f0cb41b

Cleanup: only expose base struct for manipulator geometry

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

M	source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/geom_arrow_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/geom_cube_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/geom_dial_manipulator.c
M	source/blender/windowmanager/manipulators/intern/manipulator_library/manipulator_geometry.h
M	source/blender/windowmanager/manipulators/intern/wm_manipulator_api.c
M	source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h

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

diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
index 0fc788256c4..ff582479a51 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/arrow_manipulator.c
@@ -66,12 +66,7 @@
 #include "manipulator_library_intern.h"
 
 /* to use custom arrows exported to geom_arrow_manipulator.c */
-//#define MANIPULATOR_USE_CUSTOM_ARROWS
-
-#ifdef MANIPULATOR_USE_CUSTOM_ARROWS
-ManipulatorGeometryInfo arrow_head_draw_info = {0};
-#endif
-ManipulatorGeometryInfo cube_draw_info = {0};
+#define USE_MANIPULATOR_CUSTOM_ARROWS
 
 /* ArrowManipulator->flag */
 enum {
@@ -139,8 +134,8 @@ static void arrow_draw_geom(const ArrowManipulator *arrow, const bool select, co
 		glLineWidth(1.0);
 	}
 	else {
-#ifdef MANIPULATOR_USE_CUSTOM_ARROWS
-		wm_manipulator_geometryinfo_draw(&arrow_head_draw_info, select);
+#ifdef USE_MANIPULATOR_CUSTOM_ARROWS
+		wm_manipulator_geometryinfo_draw(&wm_manipulator_geom_data_arrow, select);
 #else
 		const float vec[2][3] = {
 			{0.0f, 0.0f, 0.0f},
@@ -168,7 +163,7 @@ static void arrow_draw_geom(const ArrowManipulator *arrow, const bool select, co
 			gpuScale3f(size, size, size);
 
 			/* draw cube */
-			wm_manipulator_geometryinfo_draw(&cube_draw_info, select);
+			wm_manipulator_geometryinfo_draw(&wm_manipulator_geom_data_cube, select);
 		}
 		else {
 			const float len = 0.25f;
@@ -198,7 +193,7 @@ static void arrow_draw_geom(const ArrowManipulator *arrow, const bool select, co
 
 		gpuPopMatrix();
 
-#endif  /* MANIPULATOR_USE_CUSTOM_ARROWS */
+#endif  /* USE_MANIPULATOR_CUSTOM_ARROWS */
 	}
 }
 
@@ -446,25 +441,6 @@ wmManipulator *MANIPULATOR_arrow_new(wmManipulatorGroup *mgroup, const char *nam
 {
 	int real_style = style;
 
-#ifdef MANIPULATOR_USE_CUSTOM_ARROWS
-	if (!arrow_head_draw_info.init) {
-		arrow_head_draw_info.nverts = _MANIPULATOR_nverts_arrow,
-		arrow_head_draw_info.ntris = _MANIPULATOR_ntris_arrow,
-		arrow_head_draw_info.verts = _MANIPULATOR_verts_arrow,
-		arrow_head_draw_info.normals = _MANIPULATOR_normals_arrow,
-		arrow_head_draw_info.indices = _MANIPULATOR_indices_arrow,
-		arrow_head_draw_info.init = true;
-	}
-#endif
-	if (!cube_draw_info.init) {
-		cube_draw_info.nverts = _MANIPULATOR_nverts_cube,
-		cube_draw_info.ntris = _MANIPULATOR_ntris_cube,
-		cube_draw_info.verts = _MANIPULATOR_verts_cube,
-		cube_draw_info.normals = _MANIPULATOR_normals_cube,
-		cube_draw_info.indices = _MANIPULATOR_indices_cube,
-		cube_draw_info.init = true;
-	}
-
 	/* inverted only makes sense in a constrained arrow */
 	if (real_style & MANIPULATOR_ARROW_STYLE_INVERTED) {
 		real_style |= MANIPULATOR_ARROW_STYLE_CONSTRAINED;
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
index aa13c1dd0fb..d44b2ca6708 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/dial_manipulator.c
@@ -73,11 +73,7 @@
 #endif
 
 /* to use custom dials exported to geom_dial_manipulator.c */
-//#define MANIPULATOR_USE_CUSTOM_DIAS
-
-#ifdef MANIPULATOR_USE_CUSTOM_DIAS
-ManipulatorGeometryInfo dial_draw_info = {0};
-#endif
+// #define USE_MANIPULATOR_CUSTOM_DIAL
 
 typedef struct DialManipulator {
 	wmManipulator manipulator;
@@ -103,8 +99,9 @@ static void dial_geom_draw(
         const DialManipulator *dial, const float col[4], const bool select,
         float axis_modal_mat[4][4], float clip_plane[4])
 {
-#ifdef MANIPULATOR_USE_CUSTOM_DIAS
-	wm_manipulator_geometryinfo_draw(&dial_draw_info, select);
+#ifdef USE_MANIPULATOR_CUSTOM_DIAL
+	UNUSED_VARS(dial, col, axis_modal_mat, clip_plane);
+	wm_manipulator_geometryinfo_draw(&wm_manipulator_geom_data_dial, select);
 #else
 	const bool filled = (dial->style == MANIPULATOR_DIAL_STYLE_RING_FILLED);
 
@@ -347,17 +344,6 @@ wmManipulator *MANIPULATOR_dial_new(wmManipulatorGroup *mgroup, const char *name
 	DialManipulator *dial = MEM_callocN(sizeof(DialManipulator), name);
 	const float dir_default[3] = {0.0f, 0.0f, 1.0f};
 
-#ifdef MANIPULATOR_USE_CUSTOM_DIAS
-	if (!dial_draw_info.init) {
-		dial_draw_info.nverts = _MANIPULATOR_nverts_dial,
-		dial_draw_info.ntris = _MANIPULATOR_ntris_dial,
-		dial_draw_info.verts = _MANIPULATOR_verts_dial,
-		dial_draw_info.normals = _MANIPULATOR_normals_dial,
-		dial_draw_info.indices = _MANIPULATOR_indices_dial,
-		dial_draw_info.init = true;
-	}
-#endif
-
 	dial->manipulator.draw = manipulator_dial_draw;
 	dial->manipulator.intersect = NULL;
 	dial->manipulator.render_3d_intersection = manipulator_dial_render_3d_intersect;
diff --git a/source/blender/windowmanager/manipulators/intern/manipulator_library/geom_arrow_manipulator.c b/source/blender/windowmanager/manipulators/intern/manipulator_library/geom_arrow_manipulator.c
index ee5b50278b6..acdb772472d 100644
--- a/source/blender/windowmanager/manipulators/intern/manipulator_library/geom_arrow_manipulator.c
+++ b/source/blender/windowmanager/manipulators/intern/manipulator_library/geom_arrow_manipulator.c
@@ -27,111 +27,117 @@
  *  \ingroup wm
  */
 
-int _MANIPULATOR_nverts_arrow = 25;
-int _MANIPULATOR_ntris_arrow = 46;
+#include "manipulator_geometry.h"
 
-float _MANIPULATOR_verts_arrow[][3] = {
-    {-0.000000, 0.012320, 0.000000},
-    {-0.000000, 0.012320, 0.974306},
-    {0.008711, 0.008711, 0.000000},
-    {0.008711, 0.008711, 0.974306},
-    {0.012320, -0.000000, 0.000000},
-    {0.012320, -0.000000, 0.974306},
-    {0.008711, -0.008711, 0.000000},
-    {0.008711, -0.008711, 0.974306},
-    {-0.000000, -0.012320, 0.000000},
-    {-0.000000, -0.012320, 0.974306},
-    {-0.008711, -0.008711, 0.000000},
-    {-0.008711, -0.008711, 0.974306},
-    {-0.012320, 0.000000, 0.000000},
-    {-0.012320, 0.000000, 0.974306},
-    {-0.008711, 0.008711, 0.000000},
-    {-0.008711, 0.008711, 0.974306},
-    {0.000000, 0.072555, 0.974306},
-    {0.051304, 0.051304, 0.974306},
-    {0.072555, -0.000000, 0.974306},
-    {0.051304, -0.051304, 0.974306},
-    {-0.000000, -0.072555, 0.974306},
-    {-0.051304, -0.051304, 0.974306},
-    {-0.072555, 0.000000, 0.974306},
-    {-0.051304, 0.051304, 0.974306},
-    {0.000000, -0.000000, 1.268098},
+static float verts[][3] = {
+	{-0.000000, 0.012320, 0.000000},
+	{-0.000000, 0.012320, 0.974306},
+	{0.008711, 0.008711, 0.000000},
+	{0.008711, 0.008711, 0.974306},
+	{0.012320, -0.000000, 0.000000},
+	{0.012320, -0.000000, 0.974306},
+	{0.008711, -0.008711, 0.000000},
+	{0.008711, -0.008711, 0.974306},
+	{-0.000000, -0.012320, 0.000000},
+	{-0.000000, -0.012320, 0.974306},
+	{-0.008711, -0.008711, 0.000000},
+	{-0.008711, -0.008711, 0.974306},
+	{-0.012320, 0.000000, 0.000000},
+	{-0.012320, 0.000000, 0.974306},
+	{-0.008711, 0.008711, 0.000000},
+	{-0.008711, 0.008711, 0.974306},
+	{0.000000, 0.072555, 0.974306},
+	{0.051304, 0.051304, 0.974306},
+	{0.072555, -0.000000, 0.974306},
+	{0.051304, -0.051304, 0.974306},
+	{-0.000000, -0.072555, 0.974306},
+	{-0.051304, -0.051304, 0.974306},
+	{-0.072555, 0.000000, 0.974306},
+	{-0.051304, 0.051304, 0.974306},
+	{0.000000, -0.000000, 1.268098},
 };
 
-float _MANIPULATOR_normals_arrow[][3] = {
-    {0.000000, 0.776360, -0.630238},
-    {0.000000, 0.594348, -0.804163},
-    {0.548967, 0.548967, -0.630238},
-    {0.420270, 0.420270, -0.804163},
-    {0.776360, 0.000000, -0.630238},
-    {0.594378, 0.000000, -0.804163},
-    {0.548967, -0.548967, -0.630238},
-    {0.420270, -0.420270, -0.804163},
-    {0.000000, -0.776360, -0.630238},
-    {0.000000, -0.594378, -0.804163},
-    {-0.548967, -0.548967, -0.630238},
-    {-0.420270, -0.420270, -0.804163},
-    {-0.776360, 0.000000, -0.630238},
-    {-0.594378, 0.000000, -0.804163},
-    {-0.548967, 0.548967, -0.630238},
-    {-0.420270, 0.420270, -0.804163},
-    {0.000000, 0.843226, -0.537492},
-    {0.596271, 0.596271, -0.537492},
-    {0.843226, 0.000000, -0.537492},
-    {0.596271, -0.596271, -0.537492},
-    {0.000000, -0.843226, -0.537492},
-    {-0.596271, -0.596271, -0.537492},
-    {-0.843226, 0.000000, -0.537492},
-    {-0.596271, 0.596271, -0.537492},
-    {0.000000, 0.000000, 1.000000},
+static float normals[][3] = {
+	{0.000000, 0.776360, -0.630238},
+	{0.000000, 0.594348, -0.804163},
+	{0.548967, 0.548967, -0.630238},
+	{0.420270, 0.420270, -0.804163},
+	{0.776360, 0.000000, -0.630238},
+	{0.594378, 0.000000, -0.804163},
+	{0.548967, -0.548967, -0.630238},
+	{0.420270, -0.420270, -0.804163},
+	{0.000000, -0.776360, -0.630238},
+	{0.000000, -0.594378, -0.804163},
+	{-0.548967, -0.548967, -0.630238},
+	{-0.420270, -0.420270, -0.804163},
+	{-0.776360, 0.000000, -0.630238},
+	{-0.594378, 0.000000, -0.804163},
+	{-0.548967, 0.548967, -0.630238},
+	{-0.420270, 0.420270, -0.804163},
+	{0.000000, 0.843226, -0.537492},
+	{0.596271, 0.596271, -0.537492},
+	{0.843226, 0.000000, -0.537492},
+	{0.596271, -0.596271, -0.537492},
+	{0.000000, -0.843226, -0.537492},
+	{-0.596271, -0.596271, -0.537492},
+	{-0.843226, 0.000000, -0.537492},
+	{-0.596271, 0.596271, -0.537492},
+	{0.000000, 0.000000, 1.000000},
 };
 
-unsigned short _MANIPULATOR_indices_arrow[] = {
-    1, 3, 2,
-    3, 5, 4,
-    5, 7, 6,
-    7, 9, 8,
-    9, 11, 10,
-    11, 13, 12,
-    5, 18, 19,
-    15, 1, 0,
-    13, 15, 14,
-    6, 10, 14,
-    11, 21, 22,
-    7, 19, 20,
-    13, 22, 23,
-    3, 17, 18,
-    9, 20, 21,
-    15, 23, 16,
-    1, 16, 17,
-    23, 22, 24,
-    21, 20, 24,
-    19, 18, 24,
-    17, 16, 24,
-    16, 23, 24,
-    22, 21, 24,
-    20, 19, 24,
-    18, 17, 24,
-    0, 1, 2,
-    2, 3, 4,
-    4, 5, 6,
-    6, 7, 8,
-    8, 9, 10,
-    10, 11, 12,
-    7, 5, 19,
-    14, 15, 0,
-    12, 13, 14,
-    14, 0, 2,
-    2, 4, 6,
-    6, 8, 10,
-    10, 12, 14,
-    14, 2, 6,
-    13, 11, 22,
-    9, 7, 20,
-    15, 13, 23,
-    5, 3, 18,
-    11, 9, 21,
-    1, 15, 16,
-    3, 1, 17,
+static unsigned short indices[] = {
+	1, 3, 2,
+	3, 5, 4,
+	5, 7, 6,
+	7, 9, 8,
+	9, 11, 10,
+	11, 13, 12,
+	5, 18, 19,


@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list