[Bf-blender-cvs] [bc56a37] gooseberry: Fix for remaining PointCache references in the alembic code.

Lukas Tönne noreply at git.blender.org
Mon Mar 23 13:00:33 CET 2015


Commit: bc56a3797e6aba227199894d29dd8931374a3afe
Author: Lukas Tönne
Date:   Fri Feb 20 13:56:13 2015 +0100
Branches: gooseberry
https://developer.blender.org/rBbc56a3797e6aba227199894d29dd8931374a3afe

Fix for remaining PointCache references in the alembic code.

Now, for the time being, uses a simple relative "//blendcache/" folder
path again. This will be adressed later.

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

M	build_files/cmake/macros.cmake
M	source/blender/pointcache/alembic/abc_cloth.cpp
M	source/blender/pointcache/alembic/abc_dynamicpaint.cpp
M	source/blender/pointcache/alembic/abc_mesh.cpp
M	source/blender/pointcache/alembic/abc_particles.cpp
M	source/blender/pointcache/alembic/abc_reader.cpp
M	source/blender/pointcache/alembic/abc_reader.h
M	source/blender/pointcache/alembic/abc_rigidbody.cpp
M	source/blender/pointcache/alembic/abc_smoke.cpp
M	source/blender/pointcache/alembic/abc_softbody.cpp
M	source/blender/pointcache/alembic/abc_writer.cpp
M	source/blender/pointcache/alembic/abc_writer.h
M	source/blender/pointcache/util/util_path.cpp
M	source/blender/pointcache/util/util_path.h

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

diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index fa29ba3..ed2771e 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -568,6 +568,7 @@ macro(SETUP_BLENDER_SORTED_LIBS)
 		bf_blenfont
 		bf_pointcache
 		bf_pointcache_alembic
+		bf_pointcache
 		bf_intern_audaspace
 		bf_intern_mikktspace
 		bf_intern_dualcon
diff --git a/source/blender/pointcache/alembic/abc_cloth.cpp b/source/blender/pointcache/alembic/abc_cloth.cpp
index 67fd42e..2a964f9 100644
--- a/source/blender/pointcache/alembic/abc_cloth.cpp
+++ b/source/blender/pointcache/alembic/abc_cloth.cpp
@@ -17,8 +17,8 @@
  */
 
 #include "alembic.h"
-
 #include "abc_cloth.h"
+#include "util_path.h"
 
 extern "C" {
 #include "BLI_math.h"
@@ -39,7 +39,7 @@ using namespace AbcGeom;
 
 AbcClothWriter::AbcClothWriter(Scene *scene, Object *ob, ClothModifierData *clmd) :
     ClothWriter(scene, ob, clmd, &m_archive),
-    m_archive(scene, &ob->id, clmd->point_cache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	set_error_handler(new ModifierErrorHandler(&clmd->modifier));
 	
@@ -130,7 +130,7 @@ void AbcClothWriter::write_sample()
 
 AbcClothReader::AbcClothReader(Scene *scene, Object *ob, ClothModifierData *clmd) :
     ClothReader(scene, ob, clmd, &m_archive),
-    m_archive(scene, &ob->id, clmd->point_cache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	set_error_handler(new ModifierErrorHandler(&clmd->modifier));
 	
diff --git a/source/blender/pointcache/alembic/abc_dynamicpaint.cpp b/source/blender/pointcache/alembic/abc_dynamicpaint.cpp
index 49ae62b..dd36ca5 100644
--- a/source/blender/pointcache/alembic/abc_dynamicpaint.cpp
+++ b/source/blender/pointcache/alembic/abc_dynamicpaint.cpp
@@ -17,8 +17,8 @@
  */
 
 #include "alembic.h"
-
 #include "abc_dynamicpaint.h"
+#include "util_path.h"
 
 extern "C" {
 #include "DNA_object_types.h"
@@ -34,7 +34,7 @@ using namespace AbcGeom;
 
 AbcDynamicPaintWriter::AbcDynamicPaintWriter(Scene *scene, Object *ob, DynamicPaintSurface *surface) :
     DynamicPaintWriter(scene, ob, surface, &m_archive),
-    m_archive(scene, &ob->id, surface->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	if (m_archive.archive) {
 	}
@@ -53,7 +53,7 @@ void AbcDynamicPaintWriter::write_sample()
 
 AbcDynamicPaintReader::AbcDynamicPaintReader(Scene *scene, Object *ob, DynamicPaintSurface *surface) :
     DynamicPaintReader(scene, ob, surface, &m_archive),
-    m_archive(scene, &ob->id, surface->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	if (m_archive.archive.valid()) {
 		IObject root = m_archive.archive.getTop();
diff --git a/source/blender/pointcache/alembic/abc_mesh.cpp b/source/blender/pointcache/alembic/abc_mesh.cpp
index 8183087..8c6c789 100644
--- a/source/blender/pointcache/alembic/abc_mesh.cpp
+++ b/source/blender/pointcache/alembic/abc_mesh.cpp
@@ -17,8 +17,8 @@
  */
 
 #include "alembic.h"
-
 #include "abc_mesh.h"
+#include "util_path.h"
 
 extern "C" {
 #include "BLI_math.h"
@@ -46,7 +46,7 @@ using namespace AbcGeom;
 
 AbcPointCacheWriter::AbcPointCacheWriter(Scene *scene, Object *ob, PointCacheModifierData *pcmd) :
     PointCacheWriter(scene, ob, pcmd, &m_archive),
-    m_archive(scene, &ob->id, pcmd->point_cache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	set_error_handler(new ModifierErrorHandler(&pcmd->modifier));
 	
@@ -297,7 +297,7 @@ void AbcPointCacheWriter::write_sample()
 
 AbcPointCacheReader::AbcPointCacheReader(Scene *scene, Object *ob, PointCacheModifierData *pcmd) :
     PointCacheReader(scene, ob, pcmd, &m_archive),
-    m_archive(scene, &ob->id, pcmd->point_cache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	set_error_handler(new ModifierErrorHandler(&pcmd->modifier));
 	
diff --git a/source/blender/pointcache/alembic/abc_particles.cpp b/source/blender/pointcache/alembic/abc_particles.cpp
index 1c4f721..5458af0 100644
--- a/source/blender/pointcache/alembic/abc_particles.cpp
+++ b/source/blender/pointcache/alembic/abc_particles.cpp
@@ -20,6 +20,7 @@
 
 #include "abc_cloth.h"
 #include "abc_particles.h"
+#include "util_path.h"
 
 extern "C" {
 #include "BLI_math.h"
@@ -39,7 +40,7 @@ using namespace AbcGeom;
 
 AbcParticlesWriter::AbcParticlesWriter(Scene *scene, Object *ob, ParticleSystem *psys) :
     ParticlesWriter(scene, ob, psys, &m_archive),
-    m_archive(scene, &ob->id, psys->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	if (m_archive.archive) {
 		OObject root = m_archive.archive.getTop();
@@ -83,7 +84,7 @@ void AbcParticlesWriter::write_sample()
 
 AbcParticlesReader::AbcParticlesReader(Scene *scene, Object *ob, ParticleSystem *psys) :
     ParticlesReader(scene, ob, psys, &m_archive),
-    m_archive(scene, &ob->id, psys->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	if (m_archive.archive.valid()) {
 		IObject root = m_archive.archive.getTop();
@@ -346,7 +347,7 @@ AbcParticlePathsReader::AbcParticlePathsReader(Scene *scene, Object *ob, Particl
     m_pathcache(pathcache),
     m_totpath(totpath),
     m_suffix(suffix),
-    m_archive(scene, &ob->id, psys->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &ob->id, ob->id.lib), m_error_handler)
 {
 	if (m_archive.archive.valid()) {
 		IObject root = m_archive.archive.getTop();
@@ -490,6 +491,7 @@ AbcParticlesCombinedWriter::AbcParticlesCombinedWriter(Scene *scene, Object *ob,
 		archive = m_particles_writer->archive();
 	}
 	
+#if 0
 	if (psys->flag & PSYS_CACHE_PATHS) {
 		if (psys->pathcache) {
 			m_parent_paths_writer = new AbcParticlePathsWriter(scene, ob, psys, &psys->pathcache, &psys->totpart, "__parent_paths");
@@ -500,6 +502,7 @@ AbcParticlesCombinedWriter::AbcParticlesCombinedWriter(Scene *scene, Object *ob,
 			m_child_paths_writer->set_archive(archive);
 		}
 	}
+#endif
 }
 
 AbcParticlesCombinedWriter::~AbcParticlesCombinedWriter()
diff --git a/source/blender/pointcache/alembic/abc_reader.cpp b/source/blender/pointcache/alembic/abc_reader.cpp
index c9f88fa..19c9e96 100644
--- a/source/blender/pointcache/alembic/abc_reader.cpp
+++ b/source/blender/pointcache/alembic/abc_reader.cpp
@@ -21,13 +21,9 @@
 
 #include "abc_reader.h"
 
-#include "util_path.h"
 #include "util_error_handler.h"
 
 extern "C" {
-#include "BLI_fileops.h"
-
-#include "DNA_pointcache_types.h"
 #include "DNA_scene_types.h"
 }
 
@@ -35,16 +31,13 @@ namespace PTC {
 
 using namespace Abc;
 
-AbcReaderArchive::AbcReaderArchive(Scene *scene, ID *id, PointCache *cache, ErrorHandler *error_handler) :
+AbcReaderArchive::AbcReaderArchive(Scene *scene, const std::string &filename, ErrorHandler *error_handler) :
     FrameMapper(scene),
     m_error_handler(error_handler)
 {
-	std::string filename;
-	if (ptc_archive_path(cache->cachelib, filename, id->lib)) {
-		PTC_SAFE_CALL_BEGIN
-		archive = IArchive(AbcCoreHDF5::ReadArchive(), filename, Abc::ErrorHandler::kThrowPolicy);
-		PTC_SAFE_CALL_END_HANDLER(m_error_handler)
-	}
+	PTC_SAFE_CALL_BEGIN
+	archive = IArchive(AbcCoreHDF5::ReadArchive(), filename, Abc::ErrorHandler::kThrowPolicy);
+	PTC_SAFE_CALL_END_HANDLER(m_error_handler)
 }
 
 AbcReaderArchive::~AbcReaderArchive()
diff --git a/source/blender/pointcache/alembic/abc_reader.h b/source/blender/pointcache/alembic/abc_reader.h
index ff43425..1f3e372 100644
--- a/source/blender/pointcache/alembic/abc_reader.h
+++ b/source/blender/pointcache/alembic/abc_reader.h
@@ -31,8 +31,6 @@
 #include "util_error_handler.h"
 #include "util_types.h"
 
-struct ID;
-struct PointCache;
 struct Scene;
 
 namespace PTC {
@@ -41,7 +39,7 @@ using namespace Alembic;
 
 class AbcReaderArchive : public ReaderArchive, public FrameMapper {
 public:
-	AbcReaderArchive(Scene *scene, ID *id, PointCache *cache, ErrorHandler *error_handler);
+	AbcReaderArchive(Scene *scene, const std::string &filename, ErrorHandler *error_handler);
 	virtual ~AbcReaderArchive();
 	
 	bool get_frame_range(int &start_frame, int &end_frame);
diff --git a/source/blender/pointcache/alembic/abc_rigidbody.cpp b/source/blender/pointcache/alembic/abc_rigidbody.cpp
index 8f9f711..0271c98 100644
--- a/source/blender/pointcache/alembic/abc_rigidbody.cpp
+++ b/source/blender/pointcache/alembic/abc_rigidbody.cpp
@@ -17,8 +17,8 @@
  */
 
 #include "alembic.h"
-
 #include "abc_rigidbody.h"
+#include "util_path.h"
 
 extern "C" {
 #include "DNA_scene_types.h"
@@ -34,7 +34,7 @@ using namespace AbcGeom;
 
 AbcRigidBodyWriter::AbcRigidBodyWriter(Scene *scene, RigidBodyWorld *rbw) :
     RigidBodyWriter(scene, rbw, &m_archive),
-    m_archive(scene, &scene->id, rbw->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &scene->id, scene->id.lib), m_error_handler)
 {
 	if (m_archive.archive) {
 	}
@@ -53,7 +53,7 @@ void AbcRigidBodyWriter::write_sample()
 
 AbcRigidBodyReader::AbcRigidBodyReader(Scene *scene, RigidBodyWorld *rbw) :
     RigidBodyReader(scene, rbw, &m_archive),
-    m_archive(scene, &scene->id, rbw->pointcache, m_error_handler)
+    m_archive(scene, ptc_archive_path("//blendcache/", &scene->id, scene->id.lib), m_error_handler)
 {
 	if (m_archive.archive.valid()) {
 	}
diff --git a/source/blender/pointcache/alembic/abc_smoke.cpp b/source/blender/pointcache/alembic/abc_smoke.cpp
index c03f18b..6b4faad 100644
--- a/source/blender/pointcache/alembic/abc_smoke.cpp
+++ b/source/blender/pointcache/alembic/abc_smoke.cpp
@@ -17,8 +17,8 @@
  */
 
 #include "alembic.h"
-
 #include "abc_smoke.h"
+#include "util_path.h"
 
 extern "C" {
 #include "DNA_object_types.h"
@@ -34,7 +34,7 @@ using namespace AbcGeom;
 
 AbcSmokeWriter::AbcSmokeWriter(Scene *scene, Object *ob, SmokeDomainSettings *domain) :
     SmokeWriter(scene, ob, domain, &m_archive),
-    

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list