[Bf-blender-cvs] [1da72ac] particles_refactor: Renamed the modifier to NParticleSystem since it will also define some simulation modes in addition to the actual buffer.

Lukas Tönne noreply at git.blender.org
Tue Apr 22 12:05:20 CEST 2014


Commit: 1da72ac496d53f4364ca7dbb2469cae5d0128501
Author: Lukas Tönne
Date:   Tue Jun 4 12:45:10 2013 +0200
https://developer.blender.org/rB1da72ac496d53f4364ca7dbb2469cae5d0128501

Renamed the modifier to NParticleSystem since it will also define some simulation modes in addition to the actual buffer.

===================================================================

M	source/blender/blenkernel/intern/nparticle.c
M	source/blender/editors/space_outliner/outliner_draw.c
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/MOD_modifiertypes.h
M	source/blender/modifiers/intern/MOD_nparticle.c
M	source/blender/modifiers/intern/MOD_util.c

===================================================================

diff --git a/source/blender/blenkernel/intern/nparticle.c b/source/blender/blenkernel/intern/nparticle.c
index bd486e8..d993151 100644
--- a/source/blender/blenkernel/intern/nparticle.c
+++ b/source/blender/blenkernel/intern/nparticle.c
@@ -26,7 +26,39 @@
  *  \ingroup bke
  */
 
+#include "MEM_guardedalloc.h"
+
+#include "BLI_pagedbuffer.h"
+
+#include "DNA_nparticle_types.h"
+
+#include "BKE_nparticle.h"
+
+/* XXX TODO make this configurable */
+#define PAGE_BYTES 65536
+
+NParticleBuffer *BKE_nparticle_buffer_new(void)
+{
+	NParticleBuffer *buf = MEM_callocN(sizeof(NParticleBuffer), "nparticle buffer");
+	BLI_pbuf_init(&buf->data, PAGE_BYTES);
+	return buf;
+}
+
+void BKE_nparticle_buffer_free(NParticleBuffer *buf)
+{
+	BLI_pbuf_free(&buf->data);
+	MEM_freeN(buf);
+}
+
+NParticleBuffer *BKE_nparticle_buffer_copy(NParticleBuffer *buf)
+{
+	NParticleBuffer *nbuf = MEM_dupallocN(buf);
+	BLI_pbuf_copy(&nbuf->data, &buf->data);
+	return nbuf;
+}
+
 
+#if 0 /* old code */
 #include <assert.h>
 #include <stdlib.h>
 #include <math.h>
@@ -65,7 +97,6 @@
 #include "RNA_access.h"
 
 
-#if 0 /* old code */
 struct bPagedBufferIterator pit_init_particles(struct NParticleSystem *psys)
 {
 	return pit_init(&psys->particles);
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
index 2d5583d..3007a13 100644
--- a/source/blender/editors/space_outliner/outliner_draw.c
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -980,7 +980,7 @@ static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeSto
 						UI_icon_draw(x, y, ICON_MOD_WIREFRAME); break;
 					case eModifierType_LaplacianDeform:
 						UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;  /* XXX, needs own icon */
-					case eModifierType_NParticleBuffer:
+					case eModifierType_NParticleSystem:
 						UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
 					/* Default */
 					case eModifierType_None:
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index b244816..e3874fe 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -82,7 +82,7 @@ typedef enum ModifierType {
 	eModifierType_MeshCache         = 46,
 	eModifierType_LaplacianDeform   = 47,
 	eModifierType_Wireframe         = 48,
-	eModifierType_NParticleBuffer   = 49,
+	eModifierType_NParticleSystem   = 49,
 	NUM_MODIFIER_TYPES
 } ModifierType;
 
@@ -1364,11 +1364,11 @@ enum {
 };
 
 /* nparticle modifier */
-typedef struct NParticleBufferModifierData {
+typedef struct NParticleSystemModifierData {
 	ModifierData modifier;
 	
 	struct NParticleBuffer *buffer;
-} NParticleBufferModifierData;
+} NParticleSystemModifierData;
 
 
 #endif  /* __DNA_MODIFIER_TYPES_H__ */
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 83ec44a..0935665 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -244,8 +244,8 @@ static StructRNA *rna_Modifier_refine(struct PointerRNA *ptr)
 			return &RNA_LaplacianDeformModifier;
 		case eModifierType_Wireframe:
 			return &RNA_WireframeModifier;
-		case eModifierType_NParticleBuffer:
-			return &RNA_NParticleBufferModifier;
+		case eModifierType_NParticleSystem:
+			return &RNA_NParticleSystemModifier;
 		/* Default */
 		case eModifierType_None:
 		case eModifierType_ShapeKey:
@@ -3649,15 +3649,15 @@ static void rna_def_modifier_wireframe(BlenderRNA *brna)
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 }
 
-static void rna_def_modifier_nparticlebuffer(BlenderRNA *brna)
+static void rna_def_modifier_nparticlesystem(BlenderRNA *brna)
 {
 
 	StructRNA *srna;
 	PropertyRNA *prop;
 
-	srna = RNA_def_struct(brna, "NParticleBufferModifier", "Modifier");
-	RNA_def_struct_ui_text(srna, "NParticle Buffer Modifier", "Particles");
-	RNA_def_struct_sdna(srna, "NParticleBufferModifierData");
+	srna = RNA_def_struct(brna, "NParticleSystemModifier", "Modifier");
+	RNA_def_struct_ui_text(srna, "NParticle System Modifier", "Particles");
+	RNA_def_struct_sdna(srna, "NParticleSystemModifierData");
 	RNA_def_struct_ui_icon(srna, ICON_MOD_PARTICLES);
 }
 
@@ -3773,7 +3773,7 @@ void RNA_def_modifier(BlenderRNA *brna)
 	rna_def_modifier_meshcache(brna);
 	rna_def_modifier_laplaciandeform(brna);
 	rna_def_modifier_wireframe(brna);
-	rna_def_modifier_nparticlebuffer(brna);
+	rna_def_modifier_nparticlesystem(brna);
 }
 
 #endif
diff --git a/source/blender/modifiers/MOD_modifiertypes.h b/source/blender/modifiers/MOD_modifiertypes.h
index 4669de2..51397ec 100644
--- a/source/blender/modifiers/MOD_modifiertypes.h
+++ b/source/blender/modifiers/MOD_modifiertypes.h
@@ -81,7 +81,7 @@ extern ModifierTypeInfo modifierType_UVWarp;
 extern ModifierTypeInfo modifierType_MeshCache;
 extern ModifierTypeInfo modifierType_LaplacianDeform;
 extern ModifierTypeInfo modifierType_Wireframe;
-extern ModifierTypeInfo modifierType_NParticleBuffer;
+extern ModifierTypeInfo modifierType_NParticleSystem;
 
 /* MOD_util.c */
 void modifier_type_init(ModifierTypeInfo *types[]);
diff --git a/source/blender/modifiers/intern/MOD_nparticle.c b/source/blender/modifiers/intern/MOD_nparticle.c
index 363e2eb..6c89339 100644
--- a/source/blender/modifiers/intern/MOD_nparticle.c
+++ b/source/blender/modifiers/intern/MOD_nparticle.c
@@ -35,44 +35,44 @@
 #include "BKE_modifier.h"
 #include "BKE_nparticle.h"
 
-static void nparticle_buffer_initData(ModifierData *md) 
+static void nparticle_system_initData(ModifierData *md) 
 {
-	NParticleBufferModifierData *pmd= (NParticleBufferModifierData *)md;
+	NParticleSystemModifierData *pmd= (NParticleSystemModifierData *)md;
 	pmd->buffer = BKE_nparticle_buffer_new();
 }
 
-static void nparticle_buffer_freeData(ModifierData *md)
+static void nparticle_system_freeData(ModifierData *md)
 {
-	NParticleBufferModifierData *pmd= (NParticleBufferModifierData *)md;
+	NParticleSystemModifierData *pmd= (NParticleSystemModifierData *)md;
 	BKE_nparticle_buffer_free(pmd->buffer);
 	pmd->buffer = NULL;
 }
 
-static void nparticle_buffer_copyData(ModifierData *md, ModifierData *target)
+static void nparticle_system_copyData(ModifierData *md, ModifierData *target)
 {
-	NParticleBufferModifierData *pmd= (NParticleBufferModifierData *)md;
-	NParticleBufferModifierData *tpmd= (NParticleBufferModifierData *)target;
+	NParticleSystemModifierData *pmd= (NParticleSystemModifierData *)md;
+	NParticleSystemModifierData *tpmd= (NParticleSystemModifierData *)target;
 	tpmd->buffer = BKE_nparticle_buffer_copy(pmd->buffer);
 }
 
-ModifierTypeInfo modifierType_NParticleBuffer = {
+ModifierTypeInfo modifierType_NParticleSystem = {
 	/* name */              "Particles",
-	/* structName */        "NParticleBufferModifierData",
-	/* structSize */        sizeof(NParticleBufferModifierData),
+	/* structName */        "NParticleSystemModifierData",
+	/* structSize */        sizeof(NParticleSystemModifierData),
 	/* type */              eModifierTypeType_NonGeometrical,
 	/* flags */             eModifierTypeFlag_Single	/* for now only allow single particle buffer for unambiguous access */
                             | eModifierTypeFlag_UsesPointCache,
 
-	/* copyData */          nparticle_buffer_copyData,
+	/* copyData */          nparticle_system_copyData,
 	/* deformVerts */       NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatrices */    NULL,
 	/* deformMatricesEM */  NULL,
 	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
-	/* initData */          nparticle_buffer_initData,
+	/* initData */          nparticle_system_initData,
 	/* requiredDataMask */  NULL,
-	/* freeData */          nparticle_buffer_freeData,
+	/* freeData */          nparticle_system_freeData,
 	/* isDisabled */        NULL,
 	/* updateDepgraph */    NULL,
 	/* dependsOnTime */     NULL,
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index 4a80430..a5ff0f0 100644
--- a/source/blender/modifiers/intern/MOD_util.c
+++ b/source/blender/modifiers/intern/MOD_util.c
@@ -310,6 +310,6 @@ void modifier_type_init(ModifierTypeInfo *types[])
 	INIT_TYPE(MeshCache);
 	INIT_TYPE(LaplacianDeform);
 	INIT_TYPE(Wireframe);
-	INIT_TYPE(NParticleBuffer);
+	INIT_TYPE(NParticleSystem);
 #undef INIT_TYPE
 }




More information about the Bf-blender-cvs mailing list