[Bf-blender-cvs] [6beab49] gooseberry: Fix for shifted samples when slicing a cache archive at a later start frame.

Lukas Tönne noreply at git.blender.org
Thu Jun 18 15:26:55 CEST 2015


Commit: 6beab4951fbc7f9eb81ddad79ff805a0b4ded5e9
Author: Lukas Tönne
Date:   Thu Jun 18 15:25:33 2015 +0200
Branches: gooseberry
https://developer.blender.org/rB6beab4951fbc7f9eb81ddad79ff805a0b4ded5e9

Fix for shifted samples when slicing a cache archive at a later start
frame.

Sample 0 always has to be defined, or the later samples will become
shifted toward the beginning.

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

M	source/blender/pointcache/alembic/abc_split.cpp

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

diff --git a/source/blender/pointcache/alembic/abc_split.cpp b/source/blender/pointcache/alembic/abc_split.cpp
index 086bdf0..7a522a3 100644
--- a/source/blender/pointcache/alembic/abc_split.cpp
+++ b/source/blender/pointcache/alembic/abc_split.cpp
@@ -93,15 +93,14 @@ static void slice_array_property(IArrayProperty iProp, OCompoundProperty out_par
 	
 	for (index_t index = 0; index < iProp.getNumSamples(); ++index) {
 		chrono_t time = time_sampling->getSampleTime(index);
-		if (filter.use_time(time)) {
+		if (filter.use_time(time) || writer->getNumSamples() == 0) {
 			ArraySamplePtr sample_ptr;
 			reader->getSample(index, sample_ptr);
 			
 			writer->setSample(*sample_ptr);
 		}
 		else {
-			if (writer->getNumSamples())
-				writer->setFromPreviousSample();
+			writer->setFromPreviousSample();
 		}
 	}
 	
@@ -137,14 +136,13 @@ static void slice_scalar_property(IScalarProperty iProp, OCompoundProperty out_p
 	
 	for (index_t index = 0; index < iProp.getNumSamples(); ++index) {
 		chrono_t time = time_sampling->getSampleTime(index);
-		if (filter.use_time(time)) {
+		if (filter.use_time(time) || writer->getNumSamples() == 0) {
 			reader->getSample(index, (void*)buf);
 			
 			writer->setSample((void*)buf);
 		}
 		else {
-			if (writer->getNumSamples())
-				writer->setFromPreviousSample();
+			writer->setFromPreviousSample();
 		}
 	}




More information about the Bf-blender-cvs mailing list