[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28133] trunk/blender/source: [#14437] Modifier Stack Refactor

Campbell Barton ideasman42 at gmail.com
Mon Apr 12 00:12:30 CEST 2010


Revision: 28133
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28133
Author:   campbellbarton
Date:     2010-04-12 00:12:30 +0200 (Mon, 12 Apr 2010)

Log Message:
-----------
[#14437] Modifier Stack Refactor
patch by Ben Batt (artificer)

Updated patch for 6 or so modifiers added since the patch was written.

- tested with CMake and SCons
- fixed one error were flags were being added to the fluids type.
- remove BKE_simple_deform.h, simple_deform.c, move functions into MOD_simpledeform.c since there were problems with circular deps.
- moved some fluid and boolean functions used by modifiers too.

Modified Paths:
--------------
    trunk/blender/source/blender/CMakeLists.txt
    trunk/blender/source/blender/Makefile
    trunk/blender/source/blender/SConscript
    trunk/blender/source/blender/blenkernel/BKE_booleanops.h
    trunk/blender/source/blender/blenkernel/BKE_fluidsim.h
    trunk/blender/source/blender/blenkernel/CMakeLists.txt
    trunk/blender/source/blender/blenkernel/SConscript
    trunk/blender/source/blender/blenkernel/intern/booleanops.c
    trunk/blender/source/blender/blenkernel/intern/fluidsim.c
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/creator/CMakeLists.txt

Added Paths:
-----------
    trunk/blender/source/blender/modifiers/
    trunk/blender/source/blender/modifiers/CMakeLists.txt
    trunk/blender/source/blender/modifiers/MOD_modifiertypes.h
    trunk/blender/source/blender/modifiers/Makefile
    trunk/blender/source/blender/modifiers/SConscript
    trunk/blender/source/blender/modifiers/intern/
    trunk/blender/source/blender/modifiers/intern/MOD_armature.c
    trunk/blender/source/blender/modifiers/intern/MOD_array.c
    trunk/blender/source/blender/modifiers/intern/MOD_bevel.c
    trunk/blender/source/blender/modifiers/intern/MOD_boolean.c
    trunk/blender/source/blender/modifiers/intern/MOD_boolean_util.c
    trunk/blender/source/blender/modifiers/intern/MOD_boolean_util.h
    trunk/blender/source/blender/modifiers/intern/MOD_build.c
    trunk/blender/source/blender/modifiers/intern/MOD_cast.c
    trunk/blender/source/blender/modifiers/intern/MOD_cloth.c
    trunk/blender/source/blender/modifiers/intern/MOD_collision.c
    trunk/blender/source/blender/modifiers/intern/MOD_curve.c
    trunk/blender/source/blender/modifiers/intern/MOD_decimate.c
    trunk/blender/source/blender/modifiers/intern/MOD_displace.c
    trunk/blender/source/blender/modifiers/intern/MOD_edgesplit.c
    trunk/blender/source/blender/modifiers/intern/MOD_explode.c
    trunk/blender/source/blender/modifiers/intern/MOD_fluidsim.c
    trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c
    trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.h
    trunk/blender/source/blender/modifiers/intern/MOD_hook.c
    trunk/blender/source/blender/modifiers/intern/MOD_lattice.c
    trunk/blender/source/blender/modifiers/intern/MOD_mask.c
    trunk/blender/source/blender/modifiers/intern/MOD_meshdeform.c
    trunk/blender/source/blender/modifiers/intern/MOD_mirror.c
    trunk/blender/source/blender/modifiers/intern/MOD_multires.c
    trunk/blender/source/blender/modifiers/intern/MOD_none.c
    trunk/blender/source/blender/modifiers/intern/MOD_particleinstance.c
    trunk/blender/source/blender/modifiers/intern/MOD_particlesystem.c
    trunk/blender/source/blender/modifiers/intern/MOD_screw.c
    trunk/blender/source/blender/modifiers/intern/MOD_shapekey.c
    trunk/blender/source/blender/modifiers/intern/MOD_shrinkwrap.c
    trunk/blender/source/blender/modifiers/intern/MOD_simpledeform.c
    trunk/blender/source/blender/modifiers/intern/MOD_smoke.c
    trunk/blender/source/blender/modifiers/intern/MOD_smooth.c
    trunk/blender/source/blender/modifiers/intern/MOD_softbody.c
    trunk/blender/source/blender/modifiers/intern/MOD_solidify.c
    trunk/blender/source/blender/modifiers/intern/MOD_subsurf.c
    trunk/blender/source/blender/modifiers/intern/MOD_surface.c
    trunk/blender/source/blender/modifiers/intern/MOD_util.c
    trunk/blender/source/blender/modifiers/intern/MOD_util.h
    trunk/blender/source/blender/modifiers/intern/MOD_uvproject.c
    trunk/blender/source/blender/modifiers/intern/MOD_wave.c

Removed Paths:
-------------
    trunk/blender/source/blender/blenkernel/BKE_simple_deform.h
    trunk/blender/source/blender/blenkernel/intern/simple_deform.c

Modified: trunk/blender/source/blender/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/CMakeLists.txt	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/CMakeLists.txt	2010-04-11 22:12:30 UTC (rev 28133)
@@ -29,6 +29,7 @@
 ADD_SUBDIRECTORY(avi)
 ADD_SUBDIRECTORY(nodes)
 ADD_SUBDIRECTORY(blenkernel)
+ADD_SUBDIRECTORY(modifiers)
 ADD_SUBDIRECTORY(blenlib)
 ADD_SUBDIRECTORY(blenloader)
 ADD_SUBDIRECTORY(blenpluginapi)

Modified: trunk/blender/source/blender/Makefile
===================================================================
--- trunk/blender/source/blender/Makefile	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/Makefile	2010-04-11 22:12:30 UTC (rev 28133)
@@ -33,7 +33,7 @@
 DIRS = windowmanager editors blenloader readblenfile
 DIRS += avi imbuf render blenlib blenkernel blenpluginapi
 DIRS += makesdna makesrna
-DIRS += python nodes gpu
+DIRS += python nodes modifiers gpu
 DIRS += blenfont ikplugin
 
 ifeq ($(WITH_QUICKTIME), true)

Modified: trunk/blender/source/blender/SConscript
===================================================================
--- trunk/blender/source/blender/SConscript	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/SConscript	2010-04-11 22:12:30 UTC (rev 28133)
@@ -16,6 +16,7 @@
             'readblenfile/SConscript',
             'render/SConscript',
             'nodes/SConscript',
+            'modifiers/SConscript',
             'ikplugin/SConscript',
             'windowmanager/SConscript',
             'blenfont/SConscript'])

Modified: trunk/blender/source/blender/blenkernel/BKE_booleanops.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_booleanops.h	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/BKE_booleanops.h	2010-04-11 22:12:30 UTC (rev 28133)
@@ -29,21 +29,5 @@
 #ifndef BKE_BOOLEANOPS_H
 #define BKE_BOOLEANOPS_H
 
-struct Scene;
-struct Object;
-struct Base;
-struct DerivedMesh;
-
-/* Performs a boolean between two mesh objects, it is assumed that both objects
-   are in fact a mesh object. On success returns 1 and creates a new mesh object
-   into blender data structures. On failure returns 0 and reports an error. */
-int NewBooleanMesh(struct Scene *scene, struct Base *base, struct Base *base_select, int op);
-
-
-/* Performs a boolean between two mesh objects, it is assumed that both objects
-   are in fact mesh object. On success returns a DerivedMesh. On failure
-   returns NULL and reports an error. */
-struct DerivedMesh *NewBooleanDerivedMesh(struct DerivedMesh *dm, struct Object *ob, struct DerivedMesh *dm_select, struct Object *ob_select,
-								   int int_op_type);
 #endif
 

Modified: trunk/blender/source/blender/blenkernel/BKE_fluidsim.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_fluidsim.h	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/BKE_fluidsim.h	2010-04-11 22:12:30 UTC (rev 28133)
@@ -30,6 +30,7 @@
 #ifndef BKE_FLUIDSIM_H
 #define BKE_FLUIDSIM_H
 
+
 struct Object;
 struct Scene;
 struct FluidsimModifierData;
@@ -37,25 +38,12 @@
 struct MVert;
 
 /* old interface */
-struct FluidsimSettings *fluidsimSettingsNew(struct Object *srcob);
 
 void initElbeemMesh(struct Scene *scene, struct Object *ob,
 	int *numVertices, float **vertices,
 	int *numTriangles, int **triangles,
 	int useGlobalCoords, int modifierIndex);
 
-/* new fluid-modifier interface */
-void fluidsim_init(struct FluidsimModifierData *fluidmd);
-void fluidsim_free(struct FluidsimModifierData *fluidmd);
-
-struct DerivedMesh *fluidsim_read_cache(struct Object *ob, struct DerivedMesh *orgdm,
-	struct FluidsimModifierData *fluidmd, int framenr, int useRenderParams);
-void fluidsim_read_vel_cache(struct FluidsimModifierData *fluidmd, struct DerivedMesh *dm,
-	char *filename);
-struct DerivedMesh *fluidsimModifier_do(struct FluidsimModifierData *fluidmd,
-	struct Scene *scene, struct Object *ob, struct DerivedMesh *dm,
-	int useRenderParams, int isFinalCalc);
-
 /* bounding box & memory estimate */
 void fluid_get_bb(struct MVert *mvert, int totvert, float obmat[][4],
 		 float start[3], float size[3]);

Deleted: trunk/blender/source/blender/blenkernel/BKE_simple_deform.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_simple_deform.h	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/BKE_simple_deform.h	2010-04-11 22:12:30 UTC (rev 28133)
@@ -1,39 +0,0 @@
-/**
- * BKE_shrinkwrap.h
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-#ifndef BKE_SIMPLE_DEFORM_H
-#define BKE_SIMPLE_DEFORM_H
-
-struct Object;
-struct DerivedMesh;
-struct SimpleDeformModifierData;
-
-void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object *ob, struct DerivedMesh *dm, float (*vertexCos)[3], int numVerts);
-
-#endif
-

Modified: trunk/blender/source/blender/blenkernel/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenkernel/CMakeLists.txt	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/CMakeLists.txt	2010-04-11 22:12:30 UTC (rev 28133)
@@ -27,7 +27,7 @@
 FILE(GLOB SRC intern/*.c)
 
 SET(INC 
-	. ../../../intern/guardedalloc ../../../intern/memutil ../editors/include ../blenlib ../makesdna
+	. ../../../intern/guardedalloc ../../../intern/memutil ../editors/include ../blenlib ../makesdna ../modifiers
 	../render/extern/include ../../../intern/decimation/extern
 	../imbuf ../avi ../../../intern/elbeem/extern ../../../intern/opennl/extern
 	../../../intern/iksolver/extern ../blenloader ../ikplugin
@@ -38,6 +38,7 @@
 	${ZLIB_INC}
 )
 
+
 ADD_DEFINITIONS(-DGLEW_STATIC)
 
 IF(WITH_BULLET)

Modified: trunk/blender/source/blender/blenkernel/SConscript
===================================================================
--- trunk/blender/source/blender/blenkernel/SConscript	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/SConscript	2010-04-11 22:12:30 UTC (rev 28133)
@@ -6,7 +6,7 @@
 incs = '. #/intern/guardedalloc #/intern/memutil ../editors/include'
 incs += ' ../blenlib ../blenfont ../makesdna ../windowmanager'
 incs += ' ../render/extern/include #/intern/decimation/extern ../makesrna'
-incs += ' ../imbuf ../ikplugin ../avi #/intern/elbeem/extern ../nodes'
+incs += ' ../imbuf ../ikplugin ../avi #/intern/elbeem/extern ../nodes ../modifiers'
 incs += ' #/intern/iksolver/extern ../blenloader'
 incs += ' #/extern/bullet2/src'
 incs += ' #/intern/opennl/extern #/intern/bsp/extern'

Modified: trunk/blender/source/blender/blenkernel/intern/booleanops.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/booleanops.c	2010-04-11 22:08:58 UTC (rev 28132)
+++ trunk/blender/source/blender/blenkernel/intern/booleanops.c	2010-04-11 22:12:30 UTC (rev 28133)
@@ -1,595 +0,0 @@
-/**
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) Blender Foundation
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- * CSG operations. 
- */
-
-#include <string.h>
-#include <math.h>
-
-#include "MEM_guardedalloc.h"
-
-#include "BLI_math.h"
-#include "BLI_ghash.h"
-
-#include "DNA_material_types.h"
-#include "DNA_mesh_types.h"
-#include "DNA_meshdata_types.h"
-#include "DNA_object_types.h"
-#include "DNA_scene_types.h"
-
-#include "CSG_BooleanOps.h"
-
-#include "BKE_cdderivedmesh.h"
-#include "BKE_depsgraph.h"
-#include "BKE_material.h"
-#include "BKE_mesh.h"
-#include "BKE_object.h"
-
-
-
-/**
- * Here's the vertex iterator structure used to walk through
- * the blender vertex structure.
- */
-
-typedef struct {
-	DerivedMesh *dm;
-	Object *ob;
-	int pos;
-} VertexIt;
-
-/**
- * Implementations of local vertex iterator functions.
- * These describe a blender mesh to the CSG module.
- */
-
-static void VertexIt_Destruct(CSG_VertexIteratorDescriptor * iterator)
-{
-	if (iterator->it) {
-		// deallocate memory for iterator
-		MEM_freeN(iterator->it);
-		iterator->it = 0;
-	}
-	iterator->Done = NULL;
-	iterator->Fill = NULL;
-	iterator->Reset = NULL;
-	iterator->Step = NULL;
-	iterator->num_elements = 0;
-
-}		
-
-static int VertexIt_Done(CSG_IteratorPtr it)
-{
-	VertexIt * iterator = (VertexIt *)it;
-	return(iterator->pos >= iterator->dm->getNumVerts(iterator->dm));
-}
-
-static void VertexIt_Fill(CSG_IteratorPtr it, CSG_IVertex *vert)
-{
-	VertexIt * iterator = (VertexIt *)it;
-	MVert *verts = iterator->dm->getVertArray(iterator->dm);
-

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list