[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