[Bf-blender-cvs] [e7301a1] alembic_basic_io: Cleanup: move some utility methods out of the AbcExporter class.
Kévin Dietrich
noreply at git.blender.org
Sat Jun 11 14:59:38 CEST 2016
Commit: e7301a1e20931f2a380d90575b8710e174cf518e
Author: Kévin Dietrich
Date: Sat Jun 11 13:25:12 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBe7301a1e20931f2a380d90575b8710e174cf518e
Cleanup: move some utility methods out of the AbcExporter class.
===================================================================
M source/blender/alembic/intern/abc_exporter.cc
M source/blender/alembic/intern/abc_exporter.h
===================================================================
diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc
index d9e6e31..e19c260 100644
--- a/source/blender/alembic/intern/abc_exporter.cc
+++ b/source/blender/alembic/intern/abc_exporter.cc
@@ -61,6 +61,40 @@ extern "C" {
using Alembic::Abc::TimeSamplingPtr;
using Alembic::Abc::OBox3dProperty;
+/* ************************************************************************** */
+
+static bool object_is_smoke_sim(Object *ob)
+{
+ ModifierData *md = modifiers_findByType(ob, eModifierType_Smoke);
+
+ if (md) {
+ SmokeModifierData *smd = reinterpret_cast<SmokeModifierData *>(md);
+ return (smd->type == MOD_SMOKE_TYPE_DOMAIN);
+ }
+
+ return false;
+}
+
+static bool object_is_shape(Object *ob)
+{
+ switch (ob->type) {
+ case OB_MESH:
+ if (object_is_smoke_sim(ob)) {
+ return false;
+ }
+
+ return true;
+ break;
+ case OB_SURF:
+ case OB_CAMERA:
+ return true;
+ default:
+ return false;
+ }
+}
+
+/* ************************************************************************** */
+
AbcExporter::AbcExporter(Scene *scene, const char *filename, ExportSettings &settings)
: m_settings(settings)
, m_filename(filename)
@@ -285,7 +319,7 @@ void AbcExporter::createTransformWritersFlat()
while (base) {
Object *ob = base->object;
- if (m_settings.exportObject(ob) && objectIsShape(ob)) {
+ if (m_settings.exportObject(ob) && object_is_shape(ob)) {
std::string name = get_id_name(ob);
m_xforms[name] = new AbcTransformWriter(ob, m_archive.getTop(), 0, m_trans_sampling_index, m_settings);
}
@@ -395,7 +429,7 @@ void AbcExporter::exploreObject(EvaluationContext *eval_ctx, Object *ob, Object
void AbcExporter::createShapeWriter(Object *ob, Object *dupliObParent)
{
- if (!objectIsShape(ob)) {
+ if (!object_is_shape(ob)) {
return;
}
@@ -523,33 +557,3 @@ void AbcExporter::setCurrentFrame(Main *bmain, double t)
m_scene->r.subframe = t - m_scene->r.cfra;
BKE_scene_update_for_newframe(bmain->eval_ctx, bmain, m_scene, m_scene->lay);
}
-
-bool AbcExporter::objectIsShape(Object *ob)
-{
- switch(ob->type) {
- case OB_MESH:
- if (objectIsSmokeSim(ob)) {
- return false;
- }
-
- return true;
- break;
- case OB_SURF:
- case OB_CAMERA:
- return true;
- default:
- return false;
- }
-}
-
-bool AbcExporter::objectIsSmokeSim(Object *ob)
-{
- ModifierData *md = modifiers_findByType(ob, eModifierType_Smoke);
-
- if (md) {
- SmokeModifierData *smd = reinterpret_cast<SmokeModifierData *>(md);
- return (smd->type == MOD_SMOKE_TYPE_DOMAIN);
- }
-
- return false;
-}
diff --git a/source/blender/alembic/intern/abc_exporter.h b/source/blender/alembic/intern/abc_exporter.h
index ef7e998..44e9e68 100644
--- a/source/blender/alembic/intern/abc_exporter.h
+++ b/source/blender/alembic/intern/abc_exporter.h
@@ -66,8 +66,5 @@ private:
AbcTransformWriter *getXForm(const std::string &name);
- bool objectIsShape(Object *ob);
- bool objectIsSmokeSim(Object *ob);
-
void setCurrentFrame(Main *bmain, double t);
};
More information about the Bf-blender-cvs
mailing list