[Bf-blender-cvs] [8f6e7e5] openvdb: Add a function to allocate and set default values for the drawing properties.

Kévin Dietrich noreply at git.blender.org
Thu Jun 18 07:01:15 CEST 2015


Commit: 8f6e7e5565ae3711b5d8a93252cca9d9a3169417
Author: Kévin Dietrich
Date:   Wed Jun 17 18:33:22 2015 +0200
Branches: openvdb
https://developer.blender.org/rB8f6e7e5565ae3711b5d8a93252cca9d9a3169417

Add a function to allocate and set default values for the drawing
properties.

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

M	source/blender/blenkernel/BKE_smoke.h
M	source/blender/blenkernel/intern/smoke.c
M	source/blender/editors/space_view3d/drawobject.c

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

diff --git a/source/blender/blenkernel/BKE_smoke.h b/source/blender/blenkernel/BKE_smoke.h
index bc2e376..ddd59bb 100644
--- a/source/blender/blenkernel/BKE_smoke.h
+++ b/source/blender/blenkernel/BKE_smoke.h
@@ -34,6 +34,7 @@
  */
 
 struct OpenVDBCache;
+struct OpenVDBDrawData;
 
 typedef float (*bresenham_callback)(float *result, float *input, int res[3], int *pixel, float *tRay, float correct);
 
@@ -69,5 +70,6 @@ void smokeModifier_OpenVDB_import(struct SmokeModifierData *smd, struct Scene *s
 
 struct OpenVDBCache *BKE_openvdb_get_current_cache(struct SmokeDomainSettings *sds);
 void BKE_openvdb_cache_filename(char *r_filename, const char *path, const char *fname, const char *relbase, int frame);
+struct OpenVDBDrawData *BKE_openvdb_draw_data_create(void);
 
 #endif /* __BKE_SMOKE_H__ */
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index fe59dd7..ce2f59e 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -585,7 +585,7 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
 			smd->domain->effector_weights = BKE_add_effector_weights(NULL);
 
 			smd->domain->use_openvdb = false;
-			smd->domain->vdb_draw_data = MEM_callocN(sizeof(OpenVDBDrawData), "OpenVDBDrawData");
+			smd->domain->vdb_draw_data = BKE_openvdb_draw_data_create();
 		}
 		else if (smd->type & MOD_SMOKE_TYPE_FLOW)
 		{
@@ -3523,3 +3523,18 @@ OpenVDBCache *BKE_openvdb_get_current_cache(SmokeDomainSettings *sds)
 
 	return cache;
 }
+
+OpenVDBDrawData *BKE_openvdb_draw_data_create(void)
+{
+	OpenVDBDrawData *data;
+
+	data = MEM_callocN(sizeof(OpenVDBDrawData), "OpenVDBDrawData");
+
+	data->lod = 50;
+	data->point_size = 1.0f;
+	data->tolerance = 0.001f;
+	data->voxel_drawing = DRAW_VOXELS_POINT;
+	data->flags |= DRAW_VOXELS;
+
+	return data;
+}
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index b1497c1..e3399b9 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -74,6 +74,7 @@
 #include "BKE_particle.h"
 #include "BKE_pointcache.h"
 #include "BKE_scene.h"
+#include "BKE_smoke.h"
 #include "BKE_unit.h"
 #include "BKE_tracking.h"
 
@@ -8061,8 +8062,9 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
 					bool draw_root, draw_level_1, draw_level_2;
 					bool draw_leaves, draw_voxels;
 
+					/* some sort of versioning for development */
 					if (!draw_data) {
-						draw_data = sds->vdb_draw_data = MEM_callocN(sizeof(OpenVDBDrawData), "OpenVDBDrawData");
+						draw_data = sds->vdb_draw_data = BKE_openvdb_draw_data_create();
 					}
 
 					draw_root    = (draw_data->flags & DRAW_ROOT);




More information about the Bf-blender-cvs mailing list