Revision: 30069
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30069
Author:   lukastoenne
Date:     2010-07-07 09:17:12 +0200 (Wed, 07 Jul 2010)

Log Message:
-----------
Added a new object data type for particles called ParticleSet, which will be a 
container for particles.

Modified Paths:
--------------
    branches/particles-2010/release/scripts/ui/space_info.py
    branches/particles-2010/source/blender/blenkernel/BKE_main.h
    branches/particles-2010/source/blender/blenkernel/intern/library.c
    branches/particles-2010/source/blender/editors/CMakeLists.txt
    branches/particles-2010/source/blender/editors/space_api/spacetypes.c
    branches/particles-2010/source/blender/makesdna/DNA_ID.h
    branches/particles-2010/source/blender/makesdna/DNA_object_types.h
    branches/particles-2010/source/creator/CMakeLists.txt

Added 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/include/ED_particleset.h
    branches/particles-2010/source/blender/editors/particleset/
    branches/particles-2010/source/blender/editors/particleset/CMakeLists.txt
    branches/particles-2010/source/blender/editors/particleset/editparticleset.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

Modified: branches/particles-2010/release/scripts/ui/space_info.py
===================================================================
--- branches/particles-2010/release/scripts/ui/space_info.py    2010-07-07 
04:40:33 UTC (rev 30068)
+++ branches/particles-2010/release/scripts/ui/space_info.py    2010-07-07 
07:17:12 UTC (rev 30069)
@@ -242,6 +242,9 @@
         layout.operator("object.add", text="Empty", 
icon='OUTLINER_OB_EMPTY').type = 'EMPTY'
         layout.separator()
 
+        layout.operator("particleset.primitive_particleset_add", 
text="Particle Set", icon='PARTICLES')
+        layout.separator()
+        
         layout.operator("object.camera_add", text="Camera", 
icon='OUTLINER_OB_CAMERA')
         layout.operator_context = 'EXEC_SCREEN'
         layout.operator_menu_enum("object.lamp_add", "type", text="Lamp", 
icon='OUTLINER_OB_LAMP')

Modified: branches/particles-2010/source/blender/blenkernel/BKE_main.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_main.h        
2010-07-07 04:40:33 UTC (rev 30068)
+++ branches/particles-2010/source/blender/blenkernel/BKE_main.h        
2010-07-07 07:17:12 UTC (rev 30069)
@@ -78,6 +78,7 @@
        ListBase particle;
        ListBase wm;
        ListBase gpencil;
+       ListBase particleset;
 } Main;
 
 

Added: branches/particles-2010/source/blender/blenkernel/BKE_particleset.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_particleset.h         
                (rev 0)
+++ branches/particles-2010/source/blender/blenkernel/BKE_particleset.h 
2010-07-07 07:17:12 UTC (rev 30069)
@@ -0,0 +1,39 @@
+/**
+ * ***** 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;
+
+void make_local_particleset(struct ParticleSet *pset);
+struct ParticleSet* copy_particleset(struct ParticleSet *pset);
+void free_particleset(struct ParticleSet *pset);
+
+#endif

Modified: branches/particles-2010/source/blender/blenkernel/intern/library.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/library.c  
2010-07-07 04:40:33 UTC (rev 30068)
+++ branches/particles-2010/source/blender/blenkernel/intern/library.c  
2010-07-07 07:17:12 UTC (rev 30069)
@@ -64,6 +64,7 @@
 #include "DNA_nla_types.h"
 #include "DNA_windowmanager_types.h"
 #include "DNA_anim_types.h"
+#include "DNA_particleset_types.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_dynstr.h"
@@ -97,6 +98,7 @@
 #include "BKE_brush.h"
 #include "BKE_idprop.h"
 #include "BKE_particle.h"
+#include "BKE_particleset.h"
 #include "BKE_gpencil.h"
 #include "BKE_fcurve.h"
 
@@ -222,6 +224,9 @@
                case ID_PA:
                        if(!test) 
make_local_particlesettings((ParticleSettings*)id);
                        return 1;
+               case ID_PS:
+                       if(!test) make_local_particleset((ParticleSet*)id);
+                       return 1;
                case ID_WM:
                        return 0; /* can't be linked */
                case ID_GD:
@@ -311,6 +316,9 @@
                case ID_PA:
                        if(!test) *newid= 
(ID*)psys_copy_settings((ParticleSettings*)id);
                        return 1;
+               case ID_PS:
+                       if(!test) *newid= 
(ID*)copy_particleset((ParticleSet*)id);
+                       return 1;
                case ID_WM:
                        return 0; /* can't be copied from here */
                case ID_GD:
@@ -409,6 +417,8 @@
                        return &(mainlib->brush);
                case ID_PA:
                        return &(mainlib->particle);
+               case ID_PS:
+                       return &(mainlib->particleset);
                case ID_WM:
                        return &(mainlib->wm);
                case ID_GD:
@@ -485,6 +495,7 @@
        lb[a++]= &(main->brush);
        lb[a++]= &(main->script);
        lb[a++]= &(main->particle);
+       lb[a++]= &(main->particleset);
        
        lb[a++]= &(main->world);
        lb[a++]= &(main->screen);
@@ -595,6 +606,9 @@
                case ID_PA:
                        id = MEM_callocN(sizeof(ParticleSettings), 
"ParticleSettings");
                          break;
+               case ID_PS:
+                       id = MEM_callocN(sizeof(ParticleSet), "ParticleSet");
+                         break;
                case ID_WM:
                        id = MEM_callocN(sizeof(wmWindowManager), "Window 
manager");
                          break;
@@ -799,6 +813,9 @@
                case ID_PA:
                        psys_free_settings((ParticleSettings *)id);
                        break;
+               case ID_PS:
+                       free_particleset((ParticleSet *)id);
+                       break;
                case ID_WM:
                        if(free_windowmanager_cb)
                                free_windowmanager_cb(NULL, (wmWindowManager 
*)id);

Added: branches/particles-2010/source/blender/blenkernel/intern/particleset.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/particleset.c      
                        (rev 0)
+++ branches/particles-2010/source/blender/blenkernel/intern/particleset.c      
2010-07-07 07:17:12 UTC (rev 30069)
@@ -0,0 +1,46 @@
+/** 
+ * ***** 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) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include "DNA_particleset_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_particleset.h"
+
+void make_local_particleset(ParticleSet *pset)
+{
+}
+
+ParticleSet* copy_particleset(ParticleSet *pset)
+{
+       /* TODO */
+       return NULL;
+}
+
+void free_particleset(ParticleSet *pset)
+{
+}

Modified: branches/particles-2010/source/blender/editors/CMakeLists.txt
===================================================================
--- branches/particles-2010/source/blender/editors/CMakeLists.txt       
2010-07-07 04:40:33 UTC (rev 30068)
+++ branches/particles-2010/source/blender/editors/CMakeLists.txt       
2010-07-07 07:17:12 UTC (rev 30069)
@@ -29,6 +29,7 @@
 ADD_SUBDIRECTORY(metaball)
 ADD_SUBDIRECTORY(object)
 ADD_SUBDIRECTORY(physics)
+ADD_SUBDIRECTORY(particleset)
 ADD_SUBDIRECTORY(render)
 ADD_SUBDIRECTORY(screen)
 ADD_SUBDIRECTORY(sculpt_paint)

Added: branches/particles-2010/source/blender/editors/include/ED_particleset.h
===================================================================
--- branches/particles-2010/source/blender/editors/include/ED_particleset.h     
                        (rev 0)
+++ branches/particles-2010/source/blender/editors/include/ED_particleset.h     
2010-07-07 07:17:12 UTC (rev 30069)
@@ -0,0 +1,35 @@
+/**
+ * ***** 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) 2009 Blender Foundation.
+ * All rights reserved.
+ *
+ * 
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef ED_PARTICLESET_H
+#define ED_PARTICLESET_H
+
+/* pointcloud_ops.c */
+void   ED_operatortypes_particleset(void);
+
+/* editpointcloud.c */
+
+#endif

Added: branches/particles-2010/source/blender/editors/particleset/CMakeLists.txt
===================================================================
--- branches/particles-2010/source/blender/editors/particleset/CMakeLists.txt   
                        (rev 0)
+++ branches/particles-2010/source/blender/editors/particleset/CMakeLists.txt   
2010-07-07 07:17:12 UTC (rev 30069)
@@ -0,0 +1,34 @@
+# $Id: CMakeLists.txt 12931 2007-12-17 18:20:48Z theeth $
+# ***** 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.
+#
+# Contributor(s): Jacques Beaurain.
+#
+# ***** END GPL LICENSE BLOCK *****
+
+FILE(GLOB SRC *.c)
+
+SET(INC
+       ../include
+       ../../blenkernel
+       ../../blenlib
+       ../../makesdna
+       ../../makesrna
+       ../../windowmanager
+       ../../../../intern/guardedalloc
+)
+
+BLENDERLIB(bf_editor_particleset "${SRC}" "${INC}")


@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to