Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-02-19 16:42:32 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-02-19 16:43:36 +0400
commit57b62881f45993e4431ef8a7a2d3dec041e8cf36 (patch)
tree3badfc74d2b82817a4b18ff221a371a45ff2d9aa /source
parentbff99b10a3084b4df4aecfd54a186cc7a5f8b3e8 (diff)
Added track weight to presets
Useful for cases when you need to create bunch of witness tracks.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/tracking.c3
-rw-r--r--source/blender/blenloader/intern/versioning_260.c7
-rw-r--r--source/blender/makesdna/DNA_tracking_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_tracking.c4
4 files changed, 15 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/tracking.c b/source/blender/blenkernel/intern/tracking.c
index de20f4a8ac6..e72b3697efa 100644
--- a/source/blender/blenkernel/intern/tracking.c
+++ b/source/blender/blenkernel/intern/tracking.c
@@ -200,6 +200,7 @@ void BKE_tracking_settings_init(MovieTracking *tracking)
tracking->settings.default_pattern_size = 15;
tracking->settings.default_search_size = 61;
tracking->settings.default_algorithm_flag |= TRACK_ALGORITHM_FLAG_USE_BRUTE;
+ tracking->settings.default_weight = 1.0f;
tracking->settings.dist = 1;
tracking->settings.object_distance = 1;
@@ -418,7 +419,7 @@ MovieTrackingTrack *BKE_tracking_track_add(MovieTracking *tracking, ListBase *tr
track->frames_limit = settings->default_frames_limit;
track->flag = settings->default_flag;
track->algorithm_flag = settings->default_algorithm_flag;
- track->weight = 1.0f;
+ track->weight = settings->default_weight;
memset(&marker, 0, sizeof(marker));
marker.pos[0] = x;
diff --git a/source/blender/blenloader/intern/versioning_260.c b/source/blender/blenloader/intern/versioning_260.c
index af6355d7009..2880fec698b 100644
--- a/source/blender/blenloader/intern/versioning_260.c
+++ b/source/blender/blenloader/intern/versioning_260.c
@@ -2719,4 +2719,11 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *main)
}
}
}
+
+ if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingSettings", "float", "default_weight")) {
+ MovieClip *clip;
+ for (clip = main->movieclip.first; clip; clip = clip->id.next) {
+ clip->tracking.settings.default_weight = 1.0f;
+ }
+ }
}
diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h
index 78faf5d8547..a5079cb6c6f 100644
--- a/source/blender/makesdna/DNA_tracking_types.h
+++ b/source/blender/makesdna/DNA_tracking_types.h
@@ -210,6 +210,7 @@ typedef struct MovieTrackingSettings {
short default_margin; /* margin from frame boundaries */
short default_pattern_match; /* re-adjust every N frames */
short default_flag; /* default flags like color channels used by default */
+ float default_weight; /* default weight of the track */
short motion_flag; /* flags describes motion type */
@@ -222,7 +223,7 @@ typedef struct MovieTrackingSettings {
* were moved to per-tracking object settings
*/
- int reconstruction_flag, pad;
+ int reconstruction_flag;
/* which camera intrinsics to refine. uses on the REFINE_* flags */
short refine_camera_intrinsics, pad2;
diff --git a/source/blender/makesrna/intern/rna_tracking.c b/source/blender/makesrna/intern/rna_tracking.c
index 8cb82643b87..289556b5862 100644
--- a/source/blender/makesrna/intern/rna_tracking.c
+++ b/source/blender/makesrna/intern/rna_tracking.c
@@ -930,6 +930,10 @@ static void rna_def_trackingSettings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Use Blue Channel", "Use blue channel from footage for tracking");
RNA_def_property_update(prop, NC_MOVIECLIP | ND_DISPLAY, NULL);
+ prop = RNA_def_property(srna, "default_weight", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Weight", "Influence of newly created track on a final solution");
+
/* ** object tracking ** */
/* object distance */