[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