[Bf-blender-cvs] [407c9fc] openvdb: Various cleanups.
Kévin Dietrich
noreply at git.blender.org
Wed Dec 30 18:40:54 CET 2015
Commit: 407c9fc9d6701908a0f42390153cb86d83f46873
Author: Kévin Dietrich
Date: Tue Dec 29 00:53:32 2015 +0100
Branches: openvdb
https://developer.blender.org/rB407c9fc9d6701908a0f42390153cb86d83f46873
Various cleanups.
===================================================================
M intern/openvdb/openvdb_capi.cc
M intern/openvdb/openvdb_util.cc
M source/blender/blenkernel/intern/smoke.c
M source/blender/editors/object/object_modifier.c
===================================================================
diff --git a/intern/openvdb/openvdb_capi.cc b/intern/openvdb/openvdb_capi.cc
index 2b6850a..b0873e8 100644
--- a/intern/openvdb/openvdb_capi.cc
+++ b/intern/openvdb/openvdb_capi.cc
@@ -70,11 +70,17 @@ OpenVDBFloatGrid *OpenVDB_export_grid_fl(OpenVDBWriter *writer,
{
Timer(__func__);
- using namespace openvdb;
+ using openvdb::FloatGrid;
+
+ FloatGrid *mask_grid = reinterpret_cast<FloatGrid *>(mask);
+ FloatGrid *grid = internal::OpenVDB_export_grid<FloatGrid>(writer,
+ name,
+ data,
+ res,
+ matrix,
+ mask_grid);
- OpenVDBFloatGrid *grid =
- (OpenVDBFloatGrid *)internal::OpenVDB_export_grid<FloatGrid>(writer, name, data, res, matrix, (FloatGrid *)mask);
- return grid;
+ return reinterpret_cast<OpenVDBFloatGrid *>(grid);
}
OpenVDBIntGrid *OpenVDB_export_grid_ch(OpenVDBWriter *writer,
@@ -84,11 +90,18 @@ OpenVDBIntGrid *OpenVDB_export_grid_ch(OpenVDBWriter *writer,
{
Timer(__func__);
- using namespace openvdb;
+ using openvdb::FloatGrid;
+ using openvdb::Int32Grid;
+
+ FloatGrid *mask_grid = reinterpret_cast<FloatGrid *>(mask);
+ Int32Grid *grid = internal::OpenVDB_export_grid<Int32Grid>(writer,
+ name,
+ data,
+ res,
+ matrix,
+ mask_grid);
- OpenVDBIntGrid *grid =
- (OpenVDBIntGrid *)internal::OpenVDB_export_grid<Int32Grid>(writer, name, data, res, matrix, (FloatGrid *)mask);
- return grid;
+ return reinterpret_cast<OpenVDBIntGrid *>(grid);
}
OpenVDBVectorGrid *OpenVDB_export_grid_vec(struct OpenVDBWriter *writer,
@@ -99,14 +112,23 @@ OpenVDBVectorGrid *OpenVDB_export_grid_vec(struct OpenVDBWriter *writer,
{
Timer(__func__);
- using namespace openvdb;
-
- OpenVDBVectorGrid *grid =
- (OpenVDBVectorGrid *)internal::OpenVDB_export_vector_grid(writer, name,
- data_x, data_y, data_z, res, matrix,
- static_cast<VecType>(vec_type),
- is_color, (FloatGrid *)mask);
- return grid;
+ using openvdb::GridBase;
+ using openvdb::FloatGrid;
+ using openvdb::VecType;
+
+ FloatGrid *mask_grid = reinterpret_cast<FloatGrid *>(mask);
+ GridBase *grid = internal::OpenVDB_export_vector_grid(writer,
+ name,
+ data_x,
+ data_y,
+ data_z,
+ res,
+ matrix,
+ static_cast<VecType>(vec_type),
+ is_color,
+ mask_grid);
+
+ return reinterpret_cast<OpenVDBVectorGrid *>(grid);
}
void OpenVDB_import_grid_fl(OpenVDBReader *reader,
@@ -148,18 +170,16 @@ void OpenVDBWriter_free(OpenVDBWriter *writer)
void OpenVDBWriter_set_flags(OpenVDBWriter *writer, const int flag, const bool half)
{
- using namespace openvdb;
-
- int compression_flags = io::COMPRESS_ACTIVE_MASK;
+ int compression_flags = openvdb::io::COMPRESS_ACTIVE_MASK;
if (flag == 0) {
- compression_flags |= io::COMPRESS_ZIP;
+ compression_flags |= openvdb::io::COMPRESS_ZIP;
}
else if (flag == 1) {
- compression_flags |= io::COMPRESS_BLOSC;
+ compression_flags |= openvdb::io::COMPRESS_BLOSC;
}
else {
- compression_flags = io::COMPRESS_NONE;
+ compression_flags = openvdb::io::COMPRESS_NONE;
}
writer->setFlags(compression_flags, half);
diff --git a/intern/openvdb/openvdb_util.cc b/intern/openvdb/openvdb_util.cc
index d157796..ddd3ccf 100644
--- a/intern/openvdb/openvdb_util.cc
+++ b/intern/openvdb/openvdb_util.cc
@@ -63,5 +63,5 @@ ScopeTimer::ScopeTimer(const std::string &message)
ScopeTimer::~ScopeTimer()
{
- printf("%s: %fs\n", m_message.c_str(), time_dt() - m_start);
+ std::printf("%s: %fs\n", m_message.c_str(), time_dt() - m_start);
}
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 76f5a01..2673444 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -3414,31 +3414,29 @@ void smokeModifier_OpenVDB_export(SmokeModifierData *smd, Scene *scene, Object *
update_cb update, void *update_cb_data)
{
SmokeDomainSettings *sds = smd->domain;
- OpenVDBCache *cache;
- int orig_frame, fr, cancel = 0;
+ OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+
+ int cancel = 0;
float progress;
const char *relbase = modifier_path_relbase(ob);
char filename[FILE_MAX];
- bool save_as_half;
-
- orig_frame = scene->r.cfra;
- cache = BKE_openvdb_get_current_cache(sds);
+ const int orig_frame = scene->r.cfra;
if (cache->writer == NULL) {
cache->writer = OpenVDBWriter_create();
}
- save_as_half = ((cache->flags & OPENVDB_CACHE_SAVE_AS_HALF) != 0);
-
+ const bool save_as_half = ((cache->flags & OPENVDB_CACHE_SAVE_AS_HALF) != 0);
OpenVDBWriter_set_flags(cache->writer, cache->compression, save_as_half);
/* Unset exported flag if overwriting a cache, the operator should have
* received confirmation from the user */
- if (cache->flags & OPENVDB_CACHE_BAKED)
+ if (cache->flags & OPENVDB_CACHE_BAKED) {
cache->flags &= ~OPENVDB_CACHE_BAKED;
+ }
- for (fr = cache->startframe; fr <= cache->endframe; fr++) {
+ for (int fr = cache->startframe; fr <= cache->endframe; fr++) {
/* smd->time is overwritten with scene->r.cfra in smokeModifier_process,
* so we can't use it here... */
scene->r.cfra = fr;
@@ -3486,8 +3484,6 @@ bool smokeModifier_OpenVDB_import(SmokeModifierData *smd, Scene *scene, Object *
char filename[FILE_MAX];
const char *relbase = modifier_path_relbase(ob);
- cache = BKE_openvdb_get_current_cache(sds);
-
if (!(cache->flags & OPENVDB_CACHE_BAKED)) {
return false;
}
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index a9d8ec7..ac6a8ca 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -2436,8 +2436,7 @@ static int openvdb_cache_bake_invoke(bContext *C, wmOperator *op, const wmEvent
{
Object *ob = CTX_data_active_object(C);
SmokeModifierData *smd = (SmokeModifierData *)modifiers_findByType(ob, eModifierType_Smoke);
- SmokeDomainSettings *sds = smd->domain;
- OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+ OpenVDBCache *cache = BKE_openvdb_get_current_cache(smd->domain);
const char *relbase = modifier_path_relbase(ob);
char filename[FILE_MAX];
@@ -2446,25 +2445,22 @@ static int openvdb_cache_bake_invoke(bContext *C, wmOperator *op, const wmEvent
BKE_openvdb_cache_filename(filename, cache->path, cache->name, relbase, cache->startframe);
- if (BLI_exists(filename)) {
- if (BLI_is_file(filename)) {
- if (BLI_file_is_writable(filename)) {
- return WM_operator_confirm_message(C, op, "Cache target already exists! Overwrite?");
- }
- else {
- BKE_reportf(op->reports, RPT_ERROR, "Cannot overwrite cache target: %200s", filename);
- return OPERATOR_CANCELLED;
- }
- }
- else {
- BKE_reportf(op->reports, RPT_ERROR, "Invalid cache target: %200s", filename);
- return OPERATOR_CANCELLED;
- }
- }
- else {
+ if (!BLI_exists(filename)) {
return openvdb_cache_bake_exec(C, op);
}
+ if (!BLI_is_file(filename)) {
+ BKE_reportf(op->reports, RPT_ERROR, "Invalid cache target: %200s", filename);
+ return OPERATOR_CANCELLED;
+ }
+
+ if (BLI_file_is_writable(filename)) {
+ return WM_operator_confirm_message(C, op, "Cache target already exists! Overwrite?");
+ }
+
+ BKE_reportf(op->reports, RPT_ERROR, "Cannot create cache target: %200s", filename);
+ return OPERATOR_CANCELLED;
+
UNUSED_VARS(event);
}
@@ -2655,24 +2651,25 @@ static int openvdb_cache_free_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- SmokeDomainSettings *sds = smd->domain;
- OpenVDBCache *cache = BKE_openvdb_get_current_cache(sds);
+ OpenVDBCache *cache = BKE_openvdb_get_current_cache(smd->domain);
+
+ if ((cache->flags & OPENVDB_CACHE_BAKED) == 0) {
+ return OPERATOR_CANCELLED;
+ }
+
const char *relbase = modifier_path_relbase(ob);
char filename[FILE_MAX];
- int fr;
- if ((cache->flags & OPENVDB_CACHE_BAKED) != 0) {
- for (fr = cache->startframe; fr <= cache->endframe; fr++) {
- BKE_openvdb_cache_filename(filename, cache->path, cache->name, relbase, fr);
+ for (int fr = cache->startframe; fr <= cache->endframe; fr++) {
+ BKE_openvdb_cache_filename(filename, cache->path, cache->name, relbase, fr);
- if (BLI_exists(filename)) {
- BLI_delete(filename, false, false);
- }
+ if (BLI_exists(filename)) {
+ BLI_delete(filename, false, false);
}
-
- cache->flags &= ~OPENVDB_CACHE_BAKED;
}
+ cache->flags &= ~OPENVDB_CACHE_BAKED;
+
WM_event_add_notifier(C, NC_OBJECT | ND_POINTCACHE, ob);
return OPERATOR_FINISHED;
More information about the Bf-blender-cvs
mailing list