[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34740] branches/particles-2010: Cleanup:

Lukas Toenne lukas.toenne at googlemail.com
Wed Feb 9 13:50:10 CET 2011


Revision: 34740
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34740
Author:   lukastoenne
Date:     2011-02-09 12:50:08 +0000 (Wed, 09 Feb 2011)
Log Message:
-----------
Cleanup:
* ParticleSet has been removed. Instead the core parts are now in the existing ParticleSystem. After some additional integration work, they can be used alongside the existing particles and eventually replace them.
* The generic "Simulation" tree type has been removed completely. Instead of this fuzzy tree type, the new Modifier and Particle tree types can be used in a better defined context.
* New tree type for particles has been added. This works like the modifier trees, i.e. is created independently and then linked by ParticleSystem and used as the primary way of simulation.

Modified Paths:
--------------
    branches/particles-2010/release/scripts/ui/space_node.py
    branches/particles-2010/source/blender/blenkernel/BKE_node.h
    branches/particles-2010/source/blender/blenkernel/BKE_particle.h
    branches/particles-2010/source/blender/blenkernel/CMakeLists.txt
    branches/particles-2010/source/blender/blenkernel/intern/idcode.c
    branches/particles-2010/source/blender/blenkernel/intern/library.c
    branches/particles-2010/source/blender/blenkernel/intern/node.c
    branches/particles-2010/source/blender/blenkernel/intern/object.c
    branches/particles-2010/source/blender/blenkernel/intern/particle.c
    branches/particles-2010/source/blender/blenkernel/intern/particle_system.c
    branches/particles-2010/source/blender/blenloader/intern/readfile.c
    branches/particles-2010/source/blender/blenloader/intern/writefile.c
    branches/particles-2010/source/blender/editors/CMakeLists.txt
    branches/particles-2010/source/blender/editors/space_api/spacetypes.c
    branches/particles-2010/source/blender/editors/space_buttons/buttons_context.c
    branches/particles-2010/source/blender/editors/space_node/drawnode.c
    branches/particles-2010/source/blender/editors/space_node/node_draw.c
    branches/particles-2010/source/blender/editors/space_node/node_edit.c
    branches/particles-2010/source/blender/editors/space_node/node_header.c
    branches/particles-2010/source/blender/editors/space_node/node_intern.h
    branches/particles-2010/source/blender/editors/space_node/node_ops.c
    branches/particles-2010/source/blender/editors/space_node/space_node.c
    branches/particles-2010/source/blender/editors/space_view3d/drawobject.c
    branches/particles-2010/source/blender/makesdna/DNA_ID.h
    branches/particles-2010/source/blender/makesdna/DNA_modifier_types.h
    branches/particles-2010/source/blender/makesdna/DNA_node_types.h
    branches/particles-2010/source/blender/makesdna/DNA_object_types.h
    branches/particles-2010/source/blender/makesdna/DNA_particle_types.h
    branches/particles-2010/source/blender/makesdna/intern/makesdna.c
    branches/particles-2010/source/blender/makesrna/RNA_access.h
    branches/particles-2010/source/blender/makesrna/intern/makesrna.c
    branches/particles-2010/source/blender/makesrna/intern/rna_ID.c
    branches/particles-2010/source/blender/makesrna/intern/rna_main.c
    branches/particles-2010/source/blender/makesrna/intern/rna_main_api.c
    branches/particles-2010/source/blender/makesrna/intern/rna_modifier.c
    branches/particles-2010/source/blender/makesrna/intern/rna_nodetree.c
    branches/particles-2010/source/blender/makesrna/intern/rna_nodetree_types.h
    branches/particles-2010/source/blender/makesrna/intern/rna_object.c
    branches/particles-2010/source/blender/makesrna/intern/rna_particle.c
    branches/particles-2010/source/blender/modifiers/CMakeLists.txt
    branches/particles-2010/source/blender/modifiers/MOD_modifiertypes.h
    branches/particles-2010/source/blender/modifiers/intern/MOD_util.c
    branches/particles-2010/source/blender/nodes/CMakeLists.txt
    branches/particles-2010/source/blender/nodes/intern/CMP_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/MOD_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/SHD_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/TEX_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/node_exec.c
    branches/particles-2010/source/blender/nodes/intern/node_exec.h
    branches/particles-2010/source/blender/render/intern/source/render_texture.c

Removed Paths:
-------------
    branches/particles-2010/source/blender/blenkernel/BKE_particleset.h
    branches/particles-2010/source/blender/blenkernel/intern/particleset.c
    branches/particles-2010/source/blender/editors/particleset/CMakeLists.txt
    branches/particles-2010/source/blender/editors/particleset/SConscript
    branches/particles-2010/source/blender/editors/particleset/particleset_edit.c
    branches/particles-2010/source/blender/editors/particleset/particleset_intern.h
    branches/particles-2010/source/blender/editors/particleset/particleset_ops.c
    branches/particles-2010/source/blender/makesdna/DNA_particleset_types.h
    branches/particles-2010/source/blender/makesrna/intern/rna_particleset.c
    branches/particles-2010/source/blender/nodes/SIM_node.h
    branches/particles-2010/source/blender/nodes/intern/SIM_intern.c
    branches/particles-2010/source/blender/nodes/intern/SIM_intern.h
    branches/particles-2010/source/blender/nodes/intern/SIM_nodes/
    branches/particles-2010/source/blender/nodes/intern/SIM_nodetree.c
    branches/particles-2010/source/blender/nodes/intern/SIM_util.c
    branches/particles-2010/source/blender/nodes/intern/SIM_util.h
    branches/particles-2010/source/blender/nodes/intern/SIM_util_random.h

Modified: branches/particles-2010/release/scripts/ui/space_node.py
===================================================================
--- branches/particles-2010/release/scripts/ui/space_node.py	2011-02-09 11:03:11 UTC (rev 34739)
+++ branches/particles-2010/release/scripts/ui/space_node.py	2011-02-09 12:50:08 UTC (rev 34740)
@@ -73,13 +73,10 @@
                 row.prop(snode, "backdrop_channels", text="", expand=True)
             layout.prop(snode, "use_auto_render")
 
-        elif snode.tree_type == 'SIMULATION':
+        elif snode.tree_type == 'MODIFIER':
             layout.template_ID(snode, "node_tree", new="node.new_node_tree")
 
-            props = layout.operator("node.compile_opencl_program", text="Compile Program")
-            props.force = True
-
-        elif snode.tree_type == 'MODIFIER':
+        elif snode.tree_type == 'PARTICLE':
             layout.template_ID(snode, "node_tree", new="node.new_node_tree")
 
         layout.separator()

Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h	2011-02-09 11:03:11 UTC (rev 34739)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h	2011-02-09 12:50:08 UTC (rev 34740)
@@ -191,7 +191,7 @@
 #define NODE_CLASS_PARTICLES		25
 #define NODE_CLASS_TRANSFORM		30
 
-struct bNodeTreeExecData;
+struct bNodeTreeExec;
 
 typedef void (*bNodeTreeCallback)(void *calldata, struct ID *owner_id, struct bNodeTree *ntree);
 typedef struct bNodeTreeType
@@ -207,9 +207,9 @@
 	void (*freeCache)(struct bNodeTree *ntree);
 	void (*freeNodeCache)(struct bNodeTree *ntree, struct bNode *node);
 	void (*foreachNodeTree)(struct Main *main, void *calldata, bNodeTreeCallback func);		/* iteration over all node trees */
-	struct bNodeTreeExecData *(*beginExec)(struct bNodeTree *ntree);
-	void (*endExec)(struct bNodeTreeExecData *execdata);
-	void (*exec)(struct bNodeTreeExecData *execdata, void *callerdata, int thread);
+	struct bNodeTreeExec *(*beginExec)(struct bNodeTree *ntree);
+	void (*endExec)(struct bNodeTreeExec *execdata);
+	void (*exec)(struct bNodeTreeExec *execdata, void *callerdata, int thread);
 
 	/* general update function */
 	void (*update)(struct bNodeTree *ntree);
@@ -245,9 +245,9 @@
 void			ntreeSetOutput(struct bNodeTree *ntree);
 void			ntreeValidateLinks(struct bNodeTree *ntree);
 
-struct bNodeTreeExecData *ntreeBeginExecTree(struct bNodeTree *ntree);
-void			ntreeExecTree(struct bNodeTreeExecData *execdata, void *callerdata, int thread);
-void			ntreeEndExecTree(struct bNodeTreeExecData *execdata);
+struct bNodeTreeExec *ntreeBeginExecTree(struct bNodeTree *ntree);
+void			ntreeExecTree(struct bNodeTreeExec *execdata, void *callerdata, int thread);
+void			ntreeEndExecTree(struct bNodeTreeExec *execdata);
 
 void			ntreeInitPreview(struct bNodeTree *, int xsize, int ysize);
 void			ntreeClearPreview(struct bNodeTree *ntree);
@@ -572,84 +572,6 @@
 char* ntreeTexOutputMenu(struct bNodeTree *ntree);
 
 
-/* ************** SIMULATION NODES *************** */
-
-/* control structures */
-#define SIM_NODE_PROGRAM			601
-#define SIM_NODE_SUBPROGRAM			602
-#define SIM_NODE_PASS				603
-#define SIM_NODE_IF					604
-#define SIM_NODE_FOR				605
-#define SIM_NODE_WHILE				606
-#define SIM_NODE_FILTER				607
-#define SIM_NODE_FORGROUP			608
-
-/* scalar math */
-#define SIM_NODE_ADD				650
-#define SIM_NODE_SUBTRACT			651
-#define SIM_NODE_MULTIPLY			652
-#define SIM_NODE_DIVIDE				653
-#define SIM_NODE_SINE				654
-#define SIM_NODE_COSINE				655
-#define SIM_NODE_TANGENT			656
-#define SIM_NODE_ARCSINE			657
-#define SIM_NODE_ARCCOSINE			658
-#define SIM_NODE_ARCTANGENT			659
-#define SIM_NODE_POWER				660
-#define SIM_NODE_LOGARITHM			661
-#define SIM_NODE_MINIMUM			662
-#define SIM_NODE_MAXIMUM			663
-#define SIM_NODE_ROUND				664
-#define SIM_NODE_LESSTHAN			665
-#define SIM_NODE_GREATERTHAN		666
-
-/* vector math */
-#define SIM_NODE_VECTORCOMPOSE		700
-#define SIM_NODE_VECTORDECOMPOSE	701
-#define SIM_NODE_VECTORLENGTH		702
-#define SIM_NODE_DOTPRODUCT			703
-#define SIM_NODE_CROSSPRODUCT		704
-
-/* rotation math */
-#define SIM_NODE_FROMQUATERNION		720
-#define SIM_NODE_TOQUATERNION		721
-
-/* data input/output */
-#define SIM_NODE_GETDATA			750
-#define SIM_NODE_SETDATA			751
-#define SIM_NODE_INDEX				752
-#define SIM_NODE_TIMESTEP			753
-#define SIM_NODE_RANDOM				754
-#define SIM_NODE_CURVE				755
-#define SIM_NODE_GETMESHDATA		756
-#define SIM_NODE_CREATEMESHPOINT	757
-#define SIM_NODE_CONSTFLOAT			770
-#define SIM_NODE_CONSTINT			771
-#define SIM_NODE_CONSTBOOL			772
-#define SIM_NODE_CONSTVECTOR		773
-#define SIM_NODE_CONSTRGBA			774
-#define SIM_NODE_CONSTQUAT			775
-#define SIM_NODE_CONSTMATRIX		776
-#define SIM_NODE_CONSTSTRING		777
-
-/* particles */
-#define SIM_NODE_ADDPARTICLE		800
-#define SIM_NODE_PARTICLEDYNAMICS	801
-#define SIM_NODE_ADDPARTICLEFORCE	802
-
-/* TO BE REMOVED: debugging stuff, testing, etc. */
-#define SIM_NODE_DEBUGPRINT			900
-
-/* API */
-void ntreeSimulationCompileProgram(struct bNodeTree *ntree, int force);
-void ntreeSimulationReleaseProgram(struct bNodeTree *ntree);
-void ntreeSimExecTree(struct bNodeTree *ntree, struct Scene *scene, float frame, float framestep);
-void ntreeSimExecTreeModifier(struct bNodeTree *ntree, struct Scene *scene, 
-							  struct Object *ob, struct DerivedMesh *dm,
-							  float (*vertexCos)[3], int numVerts,
-							  float frame, float framestep);
-
-
 /* ************** MODIFIER NODES *************** */
 
 /* input */

Modified: branches/particles-2010/source/blender/blenkernel/BKE_particle.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_particle.h	2011-02-09 11:03:11 UTC (rev 34739)
+++ branches/particles-2010/source/blender/blenkernel/BKE_particle.h	2011-02-09 12:50:08 UTC (rev 34740)
@@ -268,6 +268,48 @@
 
 void psys_check_boid_data(struct ParticleSystem *psys);
 
+/**** particles-2010 ****/
+/* particle property management */
+struct ParticleProperty *psys_find_particle_property(struct ParticleSystem *psys, const char *name);
+
+struct ParticleProperty *psys_property_add(struct ParticleSystem *psys, const char *name, ParticlePropertyType type, int flags);
+int psys_property_remove(struct ParticleSystem *psys, int index);
+int psys_property_moveup(struct ParticleSystem *psys, int index);
+int psys_property_movedown(struct ParticleSystem *psys, int index);
+
+/* buffer management */
+void psys_create_particles(struct ParticleSystem *psys, float cfra, int emit);
+void psys_kill_particle(struct ParticleSystem *psys, int index);
+void psys_kill_all_particles(struct ParticleSystem *psys);
+void free_page(struct ParticleSystem *psys, struct ParticlePage *page);
+void psys_free_dead_pages(struct ParticleSystem *psys);
+void psys_free_new_particles(struct ParticleSystem *psys);
+//void psys_reset(struct ParticleSystem *psys);
+void psys_set_page_size(struct ParticleSystem *psys, int new_page_size);
+
+/* particle access */
+struct ParticleData* psys_get_particle(struct ParticleSystem *psys, int index);
+
+struct ParticleIterator;
+typedef int (*ParticleIteratorSkipFunction)(struct ParticleIterator*);
+typedef struct ParticleIterator
+{
+	struct ParticleSystem *psys;
+	ParticleData *pa;
+	int index;
+	struct ParticlePage *page;
+	
+	ParticleIteratorSkipFunction skip;
+} ParticleIterator;
+
+void pit_init_skip(struct ParticleIterator *it, struct ParticleSystem *psys, ParticleIteratorSkipFunction skip);
+void pit_init(struct ParticleIterator *it, struct ParticleSystem *psys);
+void pit_next(struct ParticleIterator *it);
+void pit_goto(struct ParticleIterator *it, int index);
+
+void *psys_parprop(struct ParticleData *pa, struct ParticleProperty *prop);
+/************************/
+
 void particle_system_update(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys);
 
 /* ----------- functions needed only inside particlesystem ------------ */

Deleted: branches/particles-2010/source/blender/blenkernel/BKE_particleset.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_particleset.h	2011-02-09 11:03:11 UTC (rev 34739)
+++ branches/particles-2010/source/blender/blenkernel/BKE_particleset.h	2011-02-09 12:50:08 UTC (rev 34740)
@@ -1,102 +0,0 @@
-/**
- * ***** 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) 2005 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s):
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-#ifndef BKE_PARTICLESET_H
-#define BKE_PARTICLESET_H
-
-#include "DNA_particleset_types.h"
-
-struct ParticleSet;
-
-/* modifiers */
-void pset_calc_modifiers(struct Scene *scene, struct Object *ob);
-
-/* attribute management */
-struct ParticlePropertyInfo *pset_find_particle_property(struct ParticleSet *pset, const char *name);
-
-struct ParticlePropertyInfo *pset_property_add(struct ParticleSet *pset, const char *name, ParticlePropertyType type, int flags);
-int pset_property_remove(struct ParticleSet *pset, int index);
-int pset_property_moveup(struct ParticleSet *pset, int index);
-int pset_property_movedown(struct ParticleSet *pset, int index);
-
-/* buffer management */
-void pset_create_particles(struct ParticleSet *pset, float cfra, int emit);
-void pset_kill_particle(struct ParticleSet *pset, int index);
-void pset_kill_all_particles(struct ParticleSet *pset);
-void pset_free_dead_pages(struct ParticleSet *pset);
-void pset_free_particles(struct ParticleSet *pset);
-void pset_reset(struct ParticleSet *pset);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list