diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-19 16:42:32 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-02-19 16:43:36 +0400 |
commit | 57b62881f45993e4431ef8a7a2d3dec041e8cf36 (patch) | |
tree | 3badfc74d2b82817a4b18ff221a371a45ff2d9aa /source/blender | |
parent | bff99b10a3084b4df4aecfd54a186cc7a5f8b3e8 (diff) |
Added track weight to presets
Useful for cases when you need to create bunch of witness tracks.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/tracking.c | 3 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_260.c | 7 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_tracking_types.h | 3 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_tracking.c | 4 |
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 */ |