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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to