[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