[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44695] trunk/blender/source/blender: Code cleanup: use typedefs for DerivedMesh drawing callbacks.

Nicholas Bishop nicholasbishop at gmail.com
Wed Mar 7 05:41:21 CET 2012


Revision: 44695
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44695
Author:   nicholasbishop
Date:     2012-03-07 04:41:14 +0000 (Wed, 07 Mar 2012)
Log Message:
-----------
Code cleanup: use typedefs for DerivedMesh drawing callbacks.

There are still fairly bewildering set of callbacks being tossed
around, but it's at least a little less verbose now.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
    trunk/blender/source/blender/blenlib/intern/pbvh.c
    trunk/blender/source/blender/gpu/GPU_buffers.h
    trunk/blender/source/blender/gpu/intern/gpu_buffers.c

Modified: trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/BKE_DerivedMesh.h	2012-03-07 04:41:14 UTC (rev 44695)
@@ -124,6 +124,14 @@
 	DM_TYPE_CCGDM
 } DerivedMeshType;
 
+/* Drawing callback types */
+typedef int (*DMSetMaterial)(int mat_nr, void *attribs);
+typedef int (*DMCompareDrawOptions)(void *userData, int cur_index, int next_index);
+typedef void (*DMSetDrawInterpOptions)(void *userData, int index, float t);
+typedef int (*DMSetDrawOptions)(void *userData, int index);
+typedef int (*DMSetDrawOptionsTex)(struct MTFace *tface, int has_vcol, int matnr);
+typedef int (*DMSetDrawOptionsShading)(void *userData, int index, int *drawSmooth_r);
+
 typedef struct DerivedMesh DerivedMesh;
 struct DerivedMesh {
 	/* Private DerivedMesh data, only for internal DerivedMesh use */
@@ -308,25 +316,21 @@
 	 * Also called for *final* editmode DerivedMeshes
 	 */
 	void (*drawFacesSolid)(DerivedMesh *dm, float (*partial_redraw_planes)[4],
-						   int fast, int (*setMaterial)(int, void *attribs));
+						   int fast, DMSetMaterial setMaterial);
 
 	/* Draw all faces using MTFace 
 	 *  o Drawing options too complicated to enumerate, look at code.
 	 */
 	void (*drawFacesTex)(DerivedMesh *dm,
-	                     int (*setDrawOptions)(struct MTFace *tface,
-	                     int has_vcol, int matnr),
-						int (*compareDrawOptions)(void *userData,
-							 int cur_index,
-							 int next_index),
-						void *userData);
+	                     DMSetDrawOptionsTex setDrawOptions,
+						 DMCompareDrawOptions compareDrawOptions,
+						 void *userData);
 
 	/* Draw all faces with GLSL materials
 	 *  o setMaterial is called for every different material nr
 	 *  o Only if setMaterial returns true
 	 */
-	void (*drawFacesGLSL)(DerivedMesh *dm,
-		int (*setMaterial)(int, void *attribs));
+	void (*drawFacesGLSL)(DerivedMesh *dm, DMSetMaterial setMaterial);
 
 	/* Draw mapped faces (no color, or texture)
 	 *  o Only if !setDrawOptions or
@@ -342,23 +346,17 @@
 	 * smooth shaded.
 	 */
 	void (*drawMappedFaces)(DerivedMesh *dm,
-							int (*setDrawOptions)(void *userData, int index,
-												  int *drawSmooth_r),
-							int (*setMaterial)(int, void *attribs),
-							int (*compareDrawOptions)(void *userData,
-							                          int cur_index,
-							                          int next_index),
+							DMSetDrawOptionsShading setDrawOptions,
+							DMSetMaterial setMaterial,
+							DMCompareDrawOptions compareDrawOptions,
 							void *userData, int useColors);
 
 	/* Draw mapped faces using MTFace 
 	 *  o Drawing options too complicated to enumerate, look at code.
 	 */
 	void (*drawMappedFacesTex)(DerivedMesh *dm,
-							   int (*setDrawOptions)(void *userData,
-													 int index),
-							   int (*compareDrawOptions)(void *userData,
-							                             int cur_index,
-							                             int next_index),
+							   DMSetDrawOptions setDrawOptions,
+							   DMCompareDrawOptions compareDrawOptions,
 							   void *userData);
 
 	/* Draw mapped faces with GLSL materials
@@ -367,8 +365,8 @@
 	 *  o Only if setMaterial and setDrawOptions return true
 	 */
 	void (*drawMappedFacesGLSL)(DerivedMesh *dm,
-		int (*setMaterial)(int, void *attribs),
-		int (*setDrawOptions)(void *userData, int index),
+		DMSetMaterial setMaterial,
+		DMSetDrawOptions setDrawOptions,
 		void *userData);
 
 	/* Draw mapped edges as lines
@@ -376,7 +374,7 @@
 	 *    returns true
 	 */
 	void (*drawMappedEdges)(DerivedMesh *dm,
-							int (*setDrawOptions)(void *userData, int index),
+							DMSetDrawOptions setDrawOptions,
 							void *userData);
 
 	/* Draw mapped edges as lines with interpolation values
@@ -387,11 +385,8 @@
 	 * NOTE: This routine is optional!
 	 */
 	void (*drawMappedEdgesInterp)(DerivedMesh *dm, 
-								  int (*setDrawOptions)(void *userData,
-														int index), 
-								  void (*setDrawInterpOptions)(void *userData,
-															   int index,
-															   float t),
+								  DMSetDrawOptions setDrawOptions,
+								  DMSetDrawInterpOptions setDrawInterpOptions,
 								  void *userData);
 
 	/* Draw all faces with materials

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-03-07 04:41:14 UTC (rev 44695)
@@ -505,7 +505,7 @@
 
 static void cdDM_drawFacesSolid(DerivedMesh *dm,
 				float (*partial_redraw_planes)[4],
-				int UNUSED(fast), int (*setMaterial)(int, void *attribs))
+				int UNUSED(fast), DMSetMaterial setMaterial)
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
 	MVert *mvert = cddm->mvert;
@@ -600,9 +600,9 @@
 }
 
 static void cdDM_drawFacesTex_common(DerivedMesh *dm,
-			   int (*drawParams)(MTFace *tface, int has_mcol, int matnr),
-			   int (*drawParamsMapped)(void *userData, int index),
-			   int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+			   DMSetDrawOptionsTex drawParams,
+			   DMSetDrawOptions drawParamsMapped,
+			   DMCompareDrawOptions compareDrawOptions,
 			   void *userData) 
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -788,17 +788,17 @@
 }
 
 static void cdDM_drawFacesTex(DerivedMesh *dm,
-			   int (*setDrawOptions)(MTFace *tface, int has_mcol, int matnr),
-			   int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+			   DMSetDrawOptionsTex setDrawOptions,
+			   DMCompareDrawOptions compareDrawOptions,
 			   void *userData)
 {
 	cdDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData);
 }
 
 static void cdDM_drawMappedFaces(DerivedMesh *dm,
-			int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r),
-			int (*setMaterial)(int, void *attribs),
-			int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+			DMSetDrawOptionsShading setDrawOptions,
+			DMSetMaterial setMaterial,
+			DMCompareDrawOptions compareDrawOptions,
 			void *userData, int useColors)
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -961,8 +961,8 @@
 }
 
 static void cdDM_drawMappedFacesTex(DerivedMesh *dm,
-			   int (*setDrawOptions)(void *userData, int index),
-			   int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+			   DMSetDrawOptions setDrawOptions,
+			   DMCompareDrawOptions compareDrawOptions,
 			   void *userData)
 {
 	cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData);
@@ -1013,8 +1013,8 @@
 }
 
 static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
-			   int (*setMaterial)(int, void *attribs),
-			   int (*setDrawOptions)(void *userData, int index),
+			   DMSetMaterial setMaterial,
+			   DMSetDrawOptions setDrawOptions,
 			   void *userData)
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -1302,7 +1302,7 @@
 	glShadeModel(GL_FLAT);
 }
 
-static void cdDM_drawFacesGLSL(DerivedMesh *dm,int (*setMaterial)(int, void *attribs))
+static void cdDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial)
 {
 	dm->drawMappedFacesGLSL(dm, setMaterial, NULL, NULL);
 }
@@ -1386,7 +1386,7 @@
 	glShadeModel(GL_FLAT);
 }
 
-static void cdDM_drawMappedEdges(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index), void *userData)
+static void cdDM_drawMappedEdges(DerivedMesh *dm, DMSetDrawOptions setDrawOptions, void *userData)
 {
 	CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
 	MVert *vert = cddm->mvert;

Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2012-03-07 04:20:30 UTC (rev 44694)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2012-03-07 04:41:14 UTC (rev 44695)
@@ -399,7 +399,7 @@
 
 static void emDM_drawMappedEdges(
 		DerivedMesh *dm,
-		int (*setDrawOptions)(void *userData, int index),
+		DMSetDrawOptions setDrawOptions,
 		void *userData)
 {
 	EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -443,8 +443,8 @@
 
 static void emDM_drawMappedEdgesInterp(
 		DerivedMesh *dm,
-		int (*setDrawOptions)(void *userData, int index),
-		void (*setDrawInterpOptions)(void *userData, int index, float t),
+		DMSetDrawOptions setDrawOptions,
+		DMSetDrawInterpOptions setDrawInterpOptions,
 		void *userData)
 {
 	EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -579,9 +579,9 @@
 
 static void emDM_drawMappedFaces(
 		DerivedMesh *dm,
-		int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r),
-		int (*setMaterial)(int, void *attribs),
-		int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+		DMSetDrawOptionsShading setDrawOptions,
+		DMSetMaterial setMaterial,
+		DMCompareDrawOptions compareDrawOptions,
 		void *userData, int UNUSED(useColors))
 {
 	EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -777,9 +777,9 @@
 
 static void emDM_drawFacesTex_common(
 		DerivedMesh *dm,
-		int (*drawParams)(MTFace *tface, int has_vcol, int matnr),
-		int (*drawParamsMapped)(void *userData, int index),
-		int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+		DMSetDrawOptionsTex drawParams,
+		DMSetDrawOptions drawParamsMapped,
+		DMCompareDrawOptions compareDrawOptions,
 		void *userData)
 {
 	EditDerivedBMesh *bmdm= (EditDerivedBMesh*) dm;
@@ -960,8 +960,8 @@
 
 static void emDM_drawFacesTex(
 		DerivedMesh *dm,
-		int (*setDrawOptions)(MTFace *tface, int has_vcol, int matnr),
-		int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+		DMSetDrawOptionsTex setDrawOptions,
+		DMCompareDrawOptions compareDrawOptions,
 		void *userData)
 {
 	emDM_drawFacesTex_common(dm, setDrawOptions, NULL, compareDrawOptions, userData);
@@ -969,8 +969,8 @@
 
 static void emDM_drawMappedFacesTex(
 		DerivedMesh *dm,
-		int (*setDrawOptions)(void *userData, int index),
-		int (*compareDrawOptions)(void *userData, int cur_index, int next_index),
+		DMSetDrawOptions setDrawOptions,
+		DMCompareDrawOptions compareDrawOptions,
 		void *userData)
 {
 	emDM_drawFacesTex_common(dm, NULL, setDrawOptions, compareDrawOptions, userData);
@@ -978,8 +978,8 @@
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list