Commit: 802f40c4990dc1f7145ba18d53512aa04edce89a
Author: Kévin Dietrich
Date:   Thu Jul 2 12:59:28 2015 +0200
Branches: openvdb
https://developer.blender.org/rB802f40c4990dc1f7145ba18d53512aa04edce89a

Remove anything which deals with transforming a grid.

This needs to be done in a more sensible way.

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

M       intern/openvdb/intern/openvdb_dense_convert.cpp
M       intern/openvdb/intern/openvdb_dense_convert.h
M       intern/openvdb/intern/openvdb_primitive.cpp
M       intern/openvdb/openvdb_capi.cpp
M       intern/openvdb/openvdb_capi.h
M       release/scripts/startup/bl_ui/properties_physics_smoke.py
M       source/blender/blenkernel/BKE_smoke.h
M       source/blender/blenkernel/intern/smoke.c
M       source/blender/editors/object/object_intern.h
M       source/blender/editors/object/object_modifier.c
M       source/blender/editors/object/object_ops.c

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

diff --git a/intern/openvdb/intern/openvdb_dense_convert.cpp 
b/intern/openvdb/intern/openvdb_dense_convert.cpp
index 97a8602..5b015c3 100644
--- a/intern/openvdb/intern/openvdb_dense_convert.cpp
+++ b/intern/openvdb/intern/openvdb_dense_convert.cpp
@@ -35,6 +35,16 @@ using namespace openvdb;
 
 namespace internal {
 
+openvdb::Mat4R convertMatrix(const float mat[4][4])
+{
+    return openvdb::Mat4R(
+                mat[0][0], mat[0][1], mat[0][2], mat[0][3],
+                mat[1][0], mat[1][1], mat[1][2], mat[1][3],
+                mat[2][0], mat[2][1], mat[2][2], mat[2][3],
+                mat[3][0], mat[3][1], mat[3][2], mat[3][3]);
+}
+
+
 class MergeScalarGrids {
        tree::ValueAccessor<const FloatTree> m_acc_x, m_acc_y, m_acc_z;
 
@@ -73,13 +83,7 @@ GridBase *OpenVDB_export_vector_grid(OpenVDBWriter *writer,
 {
 
        math::CoordBBox bbox(Coord(0), Coord(res[0] - 1, res[1] - 1, res[2] - 
1));
-
-       Mat4R mat = Mat4R(
-           fluid_mat[0][0], fluid_mat[0][1], fluid_mat[0][2], fluid_mat[0][3],
-           fluid_mat[1][0], fluid_mat[1][1], fluid_mat[1][2], fluid_mat[1][3],
-           fluid_mat[2][0], fluid_mat[2][1], fluid_mat[2][2], fluid_mat[2][3],
-           fluid_mat[3][0], fluid_mat[3][1], fluid_mat[3][2], fluid_mat[3][3]);
-
+       Mat4R mat = convertMatrix(fluid_mat);
        math::Transform::Ptr transform = 
math::Transform::createLinearTransform(mat);
 
        FloatGrid::Ptr grid[3];
@@ -147,46 +151,4 @@ void OpenVDB_import_grid_vector(OpenVDBReader *reader,
        }
 }
 
-void OpenVDB_update_fluid_transform(const char *filename, float matrix[4][4], 
float matrix_high[4][4])
-{
-       /* TODO(kevin): deduplicate this call */
-       initialize();
-
-       Mat4R fluid_mat = Mat4R(
-               matrix[0][0], matrix[0][1], matrix[0][2], matrix[0][3],
-               matrix[1][0], matrix[1][1], matrix[1][2], matrix[1][3],
-               matrix[2][0], matrix[2][1], matrix[2][2], matrix[2][3],
-               matrix[3][0], matrix[3][1], matrix[3][2], matrix[3][3]);
-
-       Mat4R fluid_matBig = Mat4R(
-               matrix_high[0][0], matrix_high[0][1], matrix_high[0][2], 
matrix_high[0][3],
-               matrix_high[1][0], matrix_high[1][1], matrix_high[1][2], 
matrix_high[1][3],
-               matrix_high[2][0], matrix_high[2][1], matrix_high[2][2], 
matrix_high[2][3],
-               matrix_high[3][0], matrix_high[3][1], matrix_high[3][2], 
matrix_high[3][3]);
-
-       math::Transform::Ptr transform = 
math::Transform::createLinearTransform(fluid_mat);
-       math::Transform::Ptr transformBig = 
math::Transform::createLinearTransform(fluid_matBig);
-
-       io::File file(filename);
-       file.open();
-       GridPtrVecPtr grids = file.getGrids();
-       GridBase::Ptr grid;
-
-       for (size_t i = 0; i < grids->size(); ++i) {
-               grid = (*grids)[i];
-
-               const std::string name = grid->getName();
-               size_t found = name.find("High");
-
-               if (found != std::string::npos) {
-                       grid->setTransform(transformBig);
-               }
-               else {
-                       grid->setTransform(transform);
-               }
-       }
-
-       file.close();
-}
-
 } // namespace internal
diff --git a/intern/openvdb/intern/openvdb_dense_convert.h 
b/intern/openvdb/intern/openvdb_dense_convert.h
index 077d49f..3269d42 100644
--- a/intern/openvdb/intern/openvdb_dense_convert.h
+++ b/intern/openvdb/intern/openvdb_dense_convert.h
@@ -40,6 +40,8 @@
 
 namespace internal {
 
+openvdb::Mat4R convertMatrix(const float mat[4][4]);
+
 template <typename GridType, typename T>
 GridType *OpenVDB_export_grid(OpenVDBWriter *writer,
                               const std::string &name,
@@ -51,13 +53,7 @@ GridType *OpenVDB_export_grid(OpenVDBWriter *writer,
        using namespace openvdb;
 
        math::CoordBBox bbox(Coord(0), Coord(res[0] - 1, res[1] - 1, res[2] - 
1));
-
-       Mat4R mat = Mat4R(
-                 fluid_mat[0][0], fluid_mat[0][1], fluid_mat[0][2], 
fluid_mat[0][3],
-          fluid_mat[1][0], fluid_mat[1][1], fluid_mat[1][2], fluid_mat[1][3],
-          fluid_mat[2][0], fluid_mat[2][1], fluid_mat[2][2], fluid_mat[2][3],
-          fluid_mat[3][0], fluid_mat[3][1], fluid_mat[3][2], fluid_mat[3][3]);
-
+       Mat4R mat = convertMatrix(fluid_mat);
        math::Transform::Ptr transform = 
math::Transform::createLinearTransform(mat);
 
        typename GridType::Ptr grid = GridType::create(T(0));
@@ -124,10 +120,6 @@ void OpenVDB_import_grid_vector(OpenVDBReader *reader,
                                 float **data_x, float **data_y, float **data_z,
                                 const int res[3]);
 
-void OpenVDB_update_fluid_transform(const char *filename,
-                                    float matrix[4][4],
-                                    float matrix_high[4][4]);
-
 }
 
 #endif /* __OPENVDB_DENSE_CONVERT_H__ */
diff --git a/intern/openvdb/intern/openvdb_primitive.cpp 
b/intern/openvdb/intern/openvdb_primitive.cpp
index 301a1a5..995a7e8 100644
--- a/intern/openvdb/intern/openvdb_primitive.cpp
+++ b/intern/openvdb/intern/openvdb_primitive.cpp
@@ -55,38 +55,3 @@ void OpenVDBPrimitive::setGrid(openvdb::GridBase::Ptr grid)
 {
     m_grid = grid->copyGrid();
 }
-
-static openvdb::Mat4R convertMatrix(const float mat[4][4])
-{
-    return openvdb::Mat4R(
-                mat[0][0], mat[0][1], mat[0][2], mat[0][3],
-                mat[1][0], mat[1][1], mat[1][2], mat[1][3],
-                mat[2][0], mat[2][1], mat[2][2], mat[2][3],
-                mat[3][0], mat[3][1], mat[3][2], mat[3][3]);
-}
-
-/* A simple protection to avoid crashes for cases when something goes wrong for
- * some reason in the matrix creation. */
-static openvdb::math::MapBase::Ptr createAffineMap(const float mat[4][4])
-{
-    using namespace openvdb::math;
-    MapBase::Ptr transform;
-
-    try {
-        transform.reset(new AffineMap(convertMatrix(mat)));
-    }
-    catch (const openvdb::ArithmeticError &e) {
-        std::cerr << e.what() << "\n";
-        transform.reset(new AffineMap());
-    }
-
-    return transform;
-}
-
-void OpenVDBPrimitive::setTransform(const float mat[4][4])
-{
-    using namespace openvdb::math;
-
-    Transform::Ptr transform = Transform::Ptr(new 
Transform(createAffineMap(mat)));
-    m_grid->setTransform(transform);
-}
diff --git a/intern/openvdb/openvdb_capi.cpp b/intern/openvdb/openvdb_capi.cpp
index 83ac2ef..d6d0acc 100644
--- a/intern/openvdb/openvdb_capi.cpp
+++ b/intern/openvdb/openvdb_capi.cpp
@@ -69,20 +69,6 @@ void OpenVDB_get_grid_info(const char *filename, 
OpenVDBGridInfoCallback cb, voi
        }
 }
 
-void OpenVDB_update_fluid_transform(const char *filename,
-                                    float matrix[4][4],
-                                    float matrix_high[4][4])
-{
-       int ret = OPENVDB_NO_ERROR;
-
-       try {
-               internal::OpenVDB_update_fluid_transform(filename, matrix, 
matrix_high);
-       }
-       catch (...) {
-               catch_exception(ret);
-       }
-}
-
 OpenVDBFloatGrid *OpenVDB_export_grid_fl(OpenVDBWriter *writer,
                                          const char *name, float *data,
                                          const int res[3], float matrix[4][4],
diff --git a/intern/openvdb/openvdb_capi.h b/intern/openvdb/openvdb_capi.h
index 0b97bfd..7ef8e5d 100644
--- a/intern/openvdb/openvdb_capi.h
+++ b/intern/openvdb/openvdb_capi.h
@@ -65,10 +65,6 @@ enum {
        VEC_CONTRAVARIANT_ABSOLUTE = 4,
 };
 
-void OpenVDB_update_fluid_transform(const char *filename,
-                                    float matrix[4][4],
-                                    float matrix_high[4][4]);
-
 struct OpenVDBFloatGrid *OpenVDB_export_grid_fl(struct OpenVDBWriter *writer,
                                                 const char *name, float *data,
                                                 const int res[3], float 
matrix[4][4],
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py 
b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index 2c3d434..d69c60d 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -372,7 +372,6 @@ class PHYSICS_PT_smoke_openvdb(PhysicButtonsPanel, Panel):
             row.prop(cache, "save_as_half")
 
         layout.operator("object.smoke_vdb_export")
-        layout.operator("object.smoke_vdb_transform_update")
 
         layout.label(text="Draw OpenVDB Data:")
         draw_data = domain.vdb_draw_data
diff --git a/source/blender/blenkernel/BKE_smoke.h 
b/source/blender/blenkernel/BKE_smoke.h
index ddd59bb..d5b31ad 100644
--- a/source/blender/blenkernel/BKE_smoke.h
+++ b/source/blender/blenkernel/BKE_smoke.h
@@ -60,12 +60,6 @@ void smokeModifier_OpenVDB_export(struct SmokeModifierData 
*smd, struct Scene *s
                                   update_cb update,
                                   void *update_cb_data);
 
-void smokeModifier_OpenVDB_update_transform(struct SmokeModifierData *smd,
-                                            struct Scene *scene,
-                                            struct Object *ob,
-                                            update_cb update,
-                                            void *update_cb_data);
-
 void smokeModifier_OpenVDB_import(struct SmokeModifierData *smd, struct Scene 
*scene, struct Object *ob, struct OpenVDBCache *cache);
 
 struct OpenVDBCache *BKE_openvdb_get_current_cache(struct SmokeDomainSettings 
*sds);
diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index 9a55013..f145066 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -3444,45 +3444,6 @@ void smokeModifier_OpenVDB_import(SmokeModifierData 
*smd, Scene *scene, Object *
        }
 }
 
-void smokeModifier_OpenVDB_update_transform(SmokeModifierData *smd,
-                                            Scene *scene,
-                                            Object *ob,
-                                            update_cb update,
-                                            void *update_cb_data)
-{
-       SmokeDomainSettings *sds = smd->domain;
-       OpenVDBCache *cache;
-       int orig_frame, fr, cancel = 0;
-       float progress;
-       const char *relbase = modifier_path_relbase(ob);
-       char filename[FILE_MAX];
-
-       orig_frame = scene->r.cfra;
-
-       cache = BKE_openvdb_get_current_cache(sds);
-
-       for (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

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to