[Bf-blender-cvs] [f948f57] particles_refactor: Pointer attribute get/set functions for particles.

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


Commit: f948f57a9809fe45c50cfaaf6fdf319fc46998fe
Author: Lukas Tönne
Date:   Wed Jan 1 12:49:00 2014 +0100
https://developer.blender.org/rBf948f57a9809fe45c50cfaaf6fdf319fc46998fe

Pointer attribute get/set functions for particles.

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

M	source/blender/blenkernel/BKE_nparticle.h
M	source/blender/blenkernel/intern/nparticle.c

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

diff --git a/source/blender/blenkernel/BKE_nparticle.h b/source/blender/blenkernel/BKE_nparticle.h
index 36d42db..e4fdff3 100644
--- a/source/blender/blenkernel/BKE_nparticle.h
+++ b/source/blender/blenkernel/BKE_nparticle.h
@@ -105,6 +105,8 @@ float BKE_nparticle_iter_get_float(struct NParticleIterator *it, const char *att
 void BKE_nparticle_iter_set_float(struct NParticleIterator *it, const char *attr, float value);
 void BKE_nparticle_iter_get_vector(struct NParticleIterator *it, const char *attr, float *result);
 void BKE_nparticle_iter_set_vector(struct NParticleIterator *it, const char *attr, const float *value);
+void *BKE_nparticle_iter_get_pointer(struct NParticleIterator *it, const char *attr);
+void BKE_nparticle_iter_set_pointer(struct NParticleIterator *it, const char *attr, void *value);
 
 BLI_INLINE NParticleID BKE_nparticle_iter_get_id(struct NParticleIterator *it)
 {
diff --git a/source/blender/blenkernel/intern/nparticle.c b/source/blender/blenkernel/intern/nparticle.c
index 8293f66..5c0ec87 100644
--- a/source/blender/blenkernel/intern/nparticle.c
+++ b/source/blender/blenkernel/intern/nparticle.c
@@ -578,6 +578,21 @@ void BKE_nparticle_iter_set_vector(NParticleIterator *it, const char *attr, cons
 		copy_v3_v3(data, value);
 }
 
+void *BKE_nparticle_iter_get_pointer(NParticleIterator *it, const char *attr)
+{
+	void **data = nparticle_data_ptr(it->state, attr, it->index);
+	BLI_assert(nparticle_check_attribute_type(it->state, attr, PAR_ATTR_DATATYPE_POINTER));
+	return data ? *data : NULL;
+}
+
+void BKE_nparticle_iter_set_pointer(NParticleIterator *it, const char *attr, void *value)
+{
+	void **data = nparticle_data_ptr(it->state, attr, it->index);
+	BLI_assert(nparticle_check_attribute_type(it->state, attr, PAR_ATTR_DATATYPE_POINTER));
+	if (data)
+		*data = value;
+}
+
 
 NParticleDisplay *BKE_nparticle_display_particle(void)
 {




More information about the Bf-blender-cvs mailing list