forked from bartvdbraak/blender
Camera tracking: forbid focal length=0 and small code cleanup
This commit is contained in:
parent
ba7fbf6ae7
commit
01af54c464
13
extern/libmv/libmv-capi.cpp
vendored
13
extern/libmv/libmv-capi.cpp
vendored
@ -368,14 +368,11 @@ libmv_Reconstruction *libmv_solveReconstruction(libmv_Tracks *tracks, int keyfra
|
||||
intrinsics->SetPrincipalPoint(principal_x, principal_y);
|
||||
intrinsics->SetRadialDistortion(k1, k2, k3);
|
||||
|
||||
if(focal_length) {
|
||||
/* do a lens undistortion if focal length is non-zero only */
|
||||
for (int i = 0; i < markers.size(); ++i) {
|
||||
intrinsics->InvertIntrinsics(markers[i].x,
|
||||
markers[i].y,
|
||||
&(markers[i].x),
|
||||
&(markers[i].y));
|
||||
}
|
||||
for (int i = 0; i < markers.size(); ++i) {
|
||||
intrinsics->InvertIntrinsics(markers[i].x,
|
||||
markers[i].y,
|
||||
&(markers[i].x),
|
||||
&(markers[i].y));
|
||||
}
|
||||
|
||||
libmv::Tracks normalized_tracks(markers);
|
||||
|
@ -169,7 +169,8 @@ static void rna_trackingCamera_focal_mm_set(PointerRNA *ptr, float value)
|
||||
if(clip->lastsize[0])
|
||||
value= clip->lastsize[0]*value/camera->sensor_width;
|
||||
|
||||
camera->focal= value;
|
||||
if(value>=0.0001)
|
||||
camera->focal= value;
|
||||
}
|
||||
|
||||
static int rna_track_2d_stabilization(CollectionPropertyIterator *UNUSED(iter), void *data)
|
||||
@ -372,7 +373,7 @@ static void rna_def_trackingCamera(BlenderRNA *brna)
|
||||
/* Focal Length */
|
||||
prop= RNA_def_property(srna, "focal_length", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "focal");
|
||||
RNA_def_property_range(prop, 0.0f, 5000.0f);
|
||||
RNA_def_property_range(prop, 0.0001f, 5000.0f);
|
||||
RNA_def_property_float_funcs(prop, "rna_trackingCamera_focal_mm_get", "rna_trackingCamera_focal_mm_set", NULL);
|
||||
RNA_def_property_ui_text(prop, "Focal Length", "Camera's focal length");
|
||||
RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user