[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28406] trunk/blender/source: re-arrange modifier and blenkernel to overcome some linking problems that stopped modifiers being able to build when using some blender-kernel defined stuff

Campbell Barton ideasman42 at gmail.com
Sun Apr 25 03:10:04 CEST 2010


Revision: 28406
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28406
Author:   campbellbarton
Date:     2010-04-25 03:10:03 +0200 (Sun, 25 Apr 2010)

Log Message:
-----------
re-arrange modifier and blenkernel to overcome some linking problems that stopped modifiers being able to build when using some blender-kernel defined stuff

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/modifiers/MOD_modifiertypes.h
    trunk/blender/source/blender/modifiers/intern/MOD_util.c
    trunk/blender/source/blender/modifiers/intern/MOD_util.h
    trunk/blender/source/creator/CMakeLists.txt

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-04-25 00:19:10 UTC (rev 28405)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2010-04-25 01:10:03 UTC (rev 28406)
@@ -54,50 +54,8 @@
 	static int types_init = 1;
 
 	if (types_init) {
-		memset(types, 0, sizeof(types));
-
-#define INIT_TYPE(typeName) \
-			(types[eModifierType_##typeName] = &modifierType_##typeName)
-
-		INIT_TYPE(None);
-		INIT_TYPE(Curve);
-		INIT_TYPE(Lattice);
-		INIT_TYPE(Subsurf);
-		INIT_TYPE(Build);
-		INIT_TYPE(Array);
-		INIT_TYPE(Mirror);
-		INIT_TYPE(EdgeSplit);
-		INIT_TYPE(Bevel);
-		INIT_TYPE(Displace);
-		INIT_TYPE(UVProject);
-		INIT_TYPE(Decimate);
-		INIT_TYPE(Smooth);
-		INIT_TYPE(Cast);
-		INIT_TYPE(Wave);
-		INIT_TYPE(Armature);
-		INIT_TYPE(Hook);
-		INIT_TYPE(Softbody);
-		INIT_TYPE(Cloth);
-		INIT_TYPE(Collision);
-		INIT_TYPE(Boolean);
-		INIT_TYPE(MeshDeform);
-		INIT_TYPE(ParticleSystem);
-		INIT_TYPE(ParticleInstance);
-		INIT_TYPE(Explode);
-		INIT_TYPE(Shrinkwrap);
-		INIT_TYPE(Fluidsim);
-		INIT_TYPE(Mask);
-		INIT_TYPE(SimpleDeform);
-		INIT_TYPE(Multires);
-		INIT_TYPE(Surface);
-		INIT_TYPE(Smoke);
-		INIT_TYPE(ShapeKey);
-		INIT_TYPE(Solidify);
-		INIT_TYPE(Screw);
-
-		types_init = 0;
-
-#undef INIT_TYPE
+		modifier_type_init(types, type); /* MOD_utils.c */
+		types_init= 0;
 	}
 
 	if(type >= 0 && type < NUM_MODIFIER_TYPES &&

Modified: trunk/blender/source/blender/modifiers/MOD_modifiertypes.h
===================================================================
--- trunk/blender/source/blender/modifiers/MOD_modifiertypes.h	2010-04-25 00:19:10 UTC (rev 28405)
+++ trunk/blender/source/blender/modifiers/MOD_modifiertypes.h	2010-04-25 01:10:03 UTC (rev 28406)
@@ -68,4 +68,7 @@
 extern ModifierTypeInfo modifierType_Solidify;
 extern ModifierTypeInfo modifierType_Screw;
 
+/* MOD_util.c */
+void modifier_type_init(ModifierTypeInfo *types[], ModifierType type);
+
 #endif //MOD_MODIFIERTYPES_H

Modified: trunk/blender/source/blender/modifiers/intern/MOD_util.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_util.c	2010-04-25 00:19:10 UTC (rev 28405)
+++ trunk/blender/source/blender/modifiers/intern/MOD_util.c	2010-04-25 01:10:03 UTC (rev 28406)
@@ -40,8 +40,10 @@
 #include "BKE_mesh.h"
 #include "BKE_displist.h"
 #include "BKE_utildefines.h"
+#include "BKE_modifier.h"
 
 #include "MOD_util.h"
+#include "MOD_modifiertypes.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -165,3 +167,46 @@
 
 	return dm;
 }
+
+/* only called by BKE_modifier.h/modifier.c */
+void modifier_type_init(ModifierTypeInfo *types[], ModifierType type)
+{
+	memset(types, 0, sizeof(types));
+#define INIT_TYPE(typeName) (types[eModifierType_##typeName] = &modifierType_##typeName)
+	INIT_TYPE(None);
+	INIT_TYPE(Curve);
+	INIT_TYPE(Lattice);
+	INIT_TYPE(Subsurf);
+	INIT_TYPE(Build);
+	INIT_TYPE(Array);
+	INIT_TYPE(Mirror);
+	INIT_TYPE(EdgeSplit);
+	INIT_TYPE(Bevel);
+	INIT_TYPE(Displace);
+	INIT_TYPE(UVProject);
+	INIT_TYPE(Decimate);
+	INIT_TYPE(Smooth);
+	INIT_TYPE(Cast);
+	INIT_TYPE(Wave);
+	INIT_TYPE(Armature);
+	INIT_TYPE(Hook);
+	INIT_TYPE(Softbody);
+	INIT_TYPE(Cloth);
+	INIT_TYPE(Collision);
+	INIT_TYPE(Boolean);
+	INIT_TYPE(MeshDeform);
+	INIT_TYPE(ParticleSystem);
+	INIT_TYPE(ParticleInstance);
+	INIT_TYPE(Explode);
+	INIT_TYPE(Shrinkwrap);
+	INIT_TYPE(Fluidsim);
+	INIT_TYPE(Mask);
+	INIT_TYPE(SimpleDeform);
+	INIT_TYPE(Multires);
+	INIT_TYPE(Surface);
+	INIT_TYPE(Smoke);
+	INIT_TYPE(ShapeKey);
+	INIT_TYPE(Solidify);
+	INIT_TYPE(Screw);
+#undef INIT_TYPE
+}

Modified: trunk/blender/source/blender/modifiers/intern/MOD_util.h
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_util.h	2010-04-25 00:19:10 UTC (rev 28405)
+++ trunk/blender/source/blender/modifiers/intern/MOD_util.h	2010-04-25 01:10:03 UTC (rev 28406)
@@ -42,4 +42,7 @@
 void validate_layer_name(const struct CustomData *data, int type, char *name, char *outname);
 struct DerivedMesh *get_cddm(struct Scene *scene, struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
 struct DerivedMesh *get_dm(struct Scene *scene, struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
+
+void modifier_type_init(struct ModifierTypeInfo *types[], ModifierType type);
+
 #endif /* MOD_UTIL_H */

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt	2010-04-25 00:19:10 UTC (rev 28405)
+++ trunk/blender/source/creator/CMakeLists.txt	2010-04-25 01:10:03 UTC (rev 28406)
@@ -369,8 +369,8 @@
 		bf_python 
 		bf_gen_python 
 		bf_ikplugin
+		bf_modifiers
 		bf_blenkernel
-		bf_modifiers
 		bf_nodes
 		bf_gpu
 		bf_blenloader





More information about the Bf-blender-cvs mailing list