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
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-03-06 18:07:14 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-03-06 18:07:40 +0400
commit3d2b53031503d59aa3a96ec2164896aec4c4168e (patch)
treec1c57b462dbc473b4227ce070bba0a0f36c90b7e /source/blender
parenta28dce6cc8d2b8338f220909bacc8ef7b1018677 (diff)
Hiding plane tracks was never implemented
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/BKE_tracking.h3
-rw-r--r--source/blender/editors/space_clip/clip_draw.c4
-rw-r--r--source/blender/editors/space_clip/tracking_ops.c36
-rw-r--r--source/blender/editors/space_clip/tracking_select.c11
-rw-r--r--source/blender/editors/transform/transform_conversions.c10
5 files changed, 50 insertions, 14 deletions
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index 4d41640527f..ecf6b789227 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -271,6 +271,9 @@ void BKE_tracking_dopesheet_update(struct MovieTracking *tracking);
(((sc)->flag & SC_SHOW_MARKER_PATTERN) && TRACK_AREA_SELECTED(track, TRACK_AREA_PAT)) || \
(((sc)->flag & SC_SHOW_MARKER_SEARCH) && TRACK_AREA_SELECTED(track, TRACK_AREA_SEARCH))))
+#define PLANE_TRACK_VIEW_SELECTED(plane_track) ((((plane_track)->flag & PLANE_TRACK_HIDDEN) == 0) && \
+ ((plane_track)->flag & SELECT))
+
#define MARKER_VISIBLE(sc, track, marker) (((marker)->flag & MARKER_DISABLED) == 0 || ((sc)->flag & SC_HIDE_DISABLED) == 0 || (sc->clip->tracking.act_track == track))
#define TRACK_CLEAR_UPTO 0
diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c
index c8a49a68290..a17cf0e406d 100644
--- a/source/blender/editors/space_clip/clip_draw.c
+++ b/source/blender/editors/space_clip/clip_draw.c
@@ -1311,7 +1311,9 @@ static void draw_tracking_tracks(SpaceClip *sc, Scene *scene, ARegion *ar, Movie
plane_track;
plane_track = plane_track->next)
{
- draw_plane_track(sc, scene, plane_track, framenr, plane_track == active_plane_track, width, height);
+ if ((plane_track->flag & PLANE_TRACK_HIDDEN) == 0) {
+ draw_plane_track(sc, scene, plane_track, framenr, plane_track == active_plane_track, width, height);
+ }
}
if (sc->user.render_flag & MCLIP_PROXY_RENDER_UNDISTORT) {
diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c
index 6f44b47ed61..85e420f3e86 100644
--- a/source/blender/editors/space_clip/tracking_ops.c
+++ b/source/blender/editors/space_clip/tracking_ops.c
@@ -252,7 +252,7 @@ static int delete_track_exec(bContext *C, wmOperator *UNUSED(op))
{
next_plane_track = plane_track->next;
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
BKE_tracking_plane_track_free(plane_track);
BLI_freelinkN(plane_tracks_base, plane_track);
changed = true;
@@ -333,7 +333,7 @@ static int delete_marker_exec(bContext *C, wmOperator *UNUSED(op))
{
plane_track_next = plane_track->next;
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_get_exact(plane_track, framenr);
if (plane_marker) {
@@ -2792,9 +2792,12 @@ static int hide_tracks_exec(bContext *C, wmOperator *op)
SpaceClip *sc = CTX_wm_space_clip(C);
MovieClip *clip = ED_space_clip_get_clip(sc);
MovieTrackingTrack *track;
+ MovieTrackingPlaneTrack *plane_track;
MovieTracking *tracking = &clip->tracking;
ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
MovieTrackingTrack *act_track = BKE_tracking_track_get_active(tracking);
+ MovieTrackingPlaneTrack *act_plane_track = BKE_tracking_plane_track_get_active(&clip->tracking);
int unselected;
unselected = RNA_boolean_get(op->ptr, "unselected");
@@ -2819,6 +2822,22 @@ static int hide_tracks_exec(bContext *C, wmOperator *op)
sc->flag &= ~SC_LOCK_SELECTION;
}
+ for (plane_track = plane_tracks_base->first;
+ plane_track;
+ plane_track = plane_track->next)
+ {
+ if (unselected == 0 && plane_track->flag & SELECT) {
+ plane_track->flag |= PLANE_TRACK_HIDDEN;
+ }
+ else if (unselected == 1 && (plane_track->flag & SELECT) == 0) {
+ plane_track->flag |= PLANE_TRACK_HIDDEN;
+ }
+ }
+
+ if (act_plane_track && act_plane_track->flag & TRACK_HIDDEN) {
+ clip->tracking.act_plane_track = NULL;
+ }
+
BKE_tracking_dopesheet_tag_update(tracking);
WM_event_add_notifier(C, NC_MOVIECLIP | ND_DISPLAY, NULL);
@@ -2852,7 +2871,9 @@ static int hide_tracks_clear_exec(bContext *C, wmOperator *UNUSED(op))
MovieClip *clip = ED_space_clip_get_clip(sc);
MovieTracking *tracking = &clip->tracking;
ListBase *tracksbase = BKE_tracking_get_active_tracks(tracking);
+ ListBase *plane_tracks_base = BKE_tracking_get_active_plane_tracks(tracking);
MovieTrackingTrack *track;
+ MovieTrackingPlaneTrack *plane_track;
track = tracksbase->first;
while (track) {
@@ -2861,6 +2882,13 @@ static int hide_tracks_clear_exec(bContext *C, wmOperator *UNUSED(op))
track = track->next;
}
+ for (plane_track = plane_tracks_base->first;
+ plane_track;
+ plane_track = plane_track->next)
+ {
+ plane_track->flag &= ~PLANE_TRACK_HIDDEN;
+ }
+
BKE_tracking_dopesheet_tag_update(tracking);
WM_event_add_notifier(C, NC_MOVIECLIP | ND_DISPLAY, NULL);
@@ -3912,7 +3940,7 @@ static MovieTrackingPlaneTrack *tracking_plane_marker_check_slide(bContext *C, c
plane_track;
plane_track = plane_track->next)
{
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_get(plane_track, framenr);
bool ok = false;
int i;
@@ -4191,7 +4219,7 @@ static void keyframe_set_flag(bContext *C, bool set)
}
for (plane_track = plane_tracks_base->first; plane_track; plane_track = plane_track->next) {
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
if (set) {
MovieTrackingPlaneMarker *plane_marker = BKE_tracking_plane_marker_ensure(plane_track, framenr);
if (plane_marker->flag & PLANE_MARKER_TRACKED) {
diff --git a/source/blender/editors/space_clip/tracking_select.c b/source/blender/editors/space_clip/tracking_select.c
index 65b7a5dee65..449cccaa643 100644
--- a/source/blender/editors/space_clip/tracking_select.c
+++ b/source/blender/editors/space_clip/tracking_select.c
@@ -349,7 +349,7 @@ static int mouse_select(bContext *C, float co[2], int extend)
delect_all_tracks(tracksbase);
}
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
if (extend) {
plane_track->flag &= ~SELECT;
}
@@ -846,7 +846,7 @@ static int select_all_exec(bContext *C, wmOperator *op)
plane_track;
plane_track = plane_track->next)
{
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
action = SEL_DESELECT;
break;
}
@@ -898,10 +898,9 @@ static int select_all_exec(bContext *C, wmOperator *op)
plane_track->flag ^= SELECT;
break;
}
- }
-
- if (plane_track->flag & SELECT) {
- has_selection = true;
+ if (plane_track->flag & SELECT) {
+ has_selection = true;
+ }
}
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index beb49a5443e..f593a10409b 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -5347,7 +5347,11 @@ static void special_aftertrans_update__movieclip(bContext *C, TransInfo *t)
{
bool do_update = false;
- do_update |= (plane_track->flag & SELECT) != 0;
+ if (plane_track->flag & PLANE_TRACK_HIDDEN) {
+ continue;
+ }
+
+ do_update |= PLANE_TRACK_VIEW_SELECTED(plane_track) != 0;
if (do_update == false) {
if ((plane_track->flag & PLANE_TRACK_AUTOKEY) == 0) {
int i;
@@ -6301,7 +6305,7 @@ static void createTransTrackingTracksData(bContext *C, TransInfo *t)
plane_track;
plane_track = plane_track->next)
{
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
t->total += 4;
}
}
@@ -6354,7 +6358,7 @@ static void createTransTrackingTracksData(bContext *C, TransInfo *t)
plane_track;
plane_track = plane_track->next)
{
- if (plane_track->flag & SELECT) {
+ if (PLANE_TRACK_VIEW_SELECTED(plane_track)) {
planeTrackToTransData(framenr, td, td2d, tdt, plane_track, aspx, aspy);
td += 4;
td2d += 4;