forked from bartvdbraak/blender
Object solver: minor tweaks
- Rename solving button to Object Motion if active tracking object isn't a camera - Ignore refine flags when solving object
This commit is contained in:
parent
9355cc5c39
commit
cbe9713b50
@ -203,10 +203,18 @@ class CLIP_PT_tools_solve(Panel):
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
clip = context.space_data.clip
|
||||
settings = clip.tracking.settings
|
||||
tracking = clip.tracking
|
||||
settings = tracking.settings
|
||||
tracking_object = tracking.objects.active
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.operator("clip.solve_camera", text="Camera Motion")
|
||||
|
||||
if tracking_object.is_camera:
|
||||
solve_text = "Camera Motion"
|
||||
else:
|
||||
solve_text = "Object Motion"
|
||||
|
||||
col.operator("clip.solve_camera", text=solve_text)
|
||||
col.operator("clip.clear_solution")
|
||||
|
||||
col = layout.column(align=True)
|
||||
@ -214,6 +222,7 @@ class CLIP_PT_tools_solve(Panel):
|
||||
col.prop(settings, "keyframe_b")
|
||||
|
||||
col = layout.column(align=True)
|
||||
col.active = tracking_object.is_camera
|
||||
col.label(text="Refine:")
|
||||
col.prop(settings, "refine_intrinsics", text="")
|
||||
|
||||
|
@ -1604,11 +1604,14 @@ static int retrieve_libmv_reconstruct(MovieReconstructContext *context, MovieTra
|
||||
return retrieve_libmv_reconstruct_tracks(context, tracking);
|
||||
}
|
||||
|
||||
static int get_refine_intrinsics_flags(MovieTracking *tracking)
|
||||
static int get_refine_intrinsics_flags(MovieTracking *tracking, MovieTrackingObject *object)
|
||||
{
|
||||
int refine= tracking->settings.refine_camera_intrinsics;
|
||||
int flags= 0;
|
||||
|
||||
if((object->flag&TRACKING_OBJECT_CAMERA)==0)
|
||||
return 0;
|
||||
|
||||
if(refine&REFINE_FOCAL_LENGTH)
|
||||
flags|= LIBMV_REFINE_FOCAL_LENGTH;
|
||||
|
||||
@ -1714,7 +1717,7 @@ MovieReconstructContext* BKE_tracking_reconstruction_context_new(MovieTracking *
|
||||
context->tracks= create_libmv_tracks(tracksbase, width, height*aspy);
|
||||
context->keyframe1= keyframe1;
|
||||
context->keyframe2= keyframe2;
|
||||
context->refine_flags= get_refine_intrinsics_flags(tracking);
|
||||
context->refine_flags= get_refine_intrinsics_flags(tracking, object);
|
||||
#else
|
||||
(void) width;
|
||||
(void) height;
|
||||
|
Loading…
Reference in New Issue
Block a user