[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44543] trunk/blender/source/blender/ blenkernel/intern/CCGSubSurf.c: Code cleanup: replace a few macros in CCGSubSurf with inline functions.

Nicholas Bishop nicholasbishop at gmail.com
Wed Feb 29 09:35:43 CET 2012


Revision: 44543
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44543
Author:   nicholasbishop
Date:     2012-02-29 08:35:23 +0000 (Wed, 29 Feb 2012)
Log Message:
-----------
Code cleanup: replace a few macros in CCGSubSurf with inline functions.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c

Modified: trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c	2012-02-29 06:55:10 UTC (rev 44542)
+++ trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c	2012-02-29 08:35:23 UTC (rev 44543)
@@ -310,8 +310,12 @@
 //	byte *levelData;
 //	byte *userData;
 };
-#define VERT_getLevelData(v)		((byte *) &(v)[1])
 
+static CCG_INLINE byte *VERT_getLevelData(CCGVert *v)
+{
+	return (byte*)(&(v)[1]);
+}
+
 struct CCGEdge {
 	CCGEdge		*next;	/* EHData.next */
 	CCGEdgeHDL	eHDL;	/* EHData.key */
@@ -325,8 +329,12 @@
 //	byte *levelData;
 //	byte *userData;
 };
-#define EDGE_getLevelData(e)		((byte *) &(e)[1])
 
+static CCG_INLINE byte *EDGE_getLevelData(CCGEdge *e)
+{
+	return (byte*)(&(e)[1]);
+}
+
 struct CCGFace {
 	CCGFace		*next;	/* EHData.next */
 	CCGFaceHDL	fHDL;	/* EHData.key */
@@ -339,10 +347,22 @@
 //	byte **gridData;
 //	byte *userData;
 };
-#define FACE_getVerts(f)		((CCGVert**) &(f)[1])
-#define FACE_getEdges(f)		((CCGEdge**) &(FACE_getVerts(f)[(f)->numVerts]))
-#define FACE_getCenterData(f)	((byte *) &(FACE_getEdges(f)[(f)->numVerts]))
 
+static CCG_INLINE CCGVert **FACE_getVerts(CCGFace *f)
+{
+	return (CCGVert**)(&f[1]);
+}
+
+static CCG_INLINE CCGEdge **FACE_getEdges(CCGFace *f)
+{
+	return (CCGEdge**)(&(FACE_getVerts(f)[f->numVerts]));
+}
+
+static CCG_INLINE byte *FACE_getCenterData(CCGFace *f)
+{
+	return (byte*)(&(FACE_getEdges(f)[(f)->numVerts]));
+}
+
 typedef enum {
 	eSyncState_None = 0,
 	eSyncState_Vert,




More information about the Bf-blender-cvs mailing list