[Bf-blender-cvs] [4dd582c] soc-2016-multiview: add (wrong) read/write correspondence
Tianwei Shen
noreply at git.blender.org
Tue Jun 28 05:33:32 CEST 2016
Commit: 4dd582c84a0adbba7763e3d76fee968b9eb20838
Author: Tianwei Shen
Date: Tue Jun 28 11:33:04 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB4dd582c84a0adbba7763e3d76fee968b9eb20838
add (wrong) read/write correspondence
===================================================================
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/writefile.c
===================================================================
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 4fc8136..d23b8ba 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -7467,12 +7467,17 @@ static void lib_link_moviePlaneTracks(FileData *fd, MovieClip *clip, ListBase *t
}
}
-static void lib_link_movieCorrespondences(FileData *fd, MovieClip *clip, ListBase *tracksbase)
+static void lib_link_movieCorrespondences(FileData *fd, MovieClip *clip, ListBase *correspondences)
{
MovieTrackingCorrespondence *corr;
- for (corr = tracksbase->first; corr; corr = corr->next) {
+ for (corr = correspondences->first; corr != NULL; corr = corr->next) {
+ corr = newlibadr(fd, clip->id.lib, corr);
+ corr->self_track = newlibadr(fd, clip->id.lib, corr->self_track);
+ corr->other_track = newlibadr(fd, clip->id.lib, corr->other_track);
+ corr->self_clip = newlibadr(fd, clip->id.lib, corr->self_clip);
+ corr->other_clip = newlibadr(fd, clip->id.lib, corr->other_clip);
}
}
@@ -7491,6 +7496,7 @@ static void lib_link_movieclip(FileData *fd, Main *main)
lib_link_movieTracks(fd, clip, &tracking->tracks);
lib_link_moviePlaneTracks(fd, clip, &tracking->plane_tracks);
+ lib_link_movieCorrespondences(fd, clip, &tracking->correspondences);
for (object = tracking->objects.first; object; object = object->next) {
lib_link_movieTracks(fd, clip, &object->tracks);
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index fe97c40..fbb96ef 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -3193,7 +3193,7 @@ static void write_movieCorrespondences(WriteData *wd, ListBase *correspondence_b
{
MovieTrackingCorrespondence *corr;
for (corr = correspondence_base->first;
- corr;
+ corr != NULL;
corr = corr->next)
{
writestruct(wd, DATA, "MovieTrackingCorrespondence", 1, corr);
@@ -3225,6 +3225,7 @@ static void write_movieclips(WriteData *wd, ListBase *idbase)
write_movieTracks(wd, &tracking->tracks);
write_moviePlaneTracks(wd, &tracking->plane_tracks);
write_movieReconstruction(wd, &tracking->reconstruction);
+ write_movieCorrespondences(wd, &tracking->correspondences);
object= tracking->objects.first;
while (object) {
More information about the Bf-blender-cvs
mailing list