[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