Camera tracking: forbid focal length=0 and small code cleanup

This commit is contained in:
Sergey Sharybin 2011-11-16 10:00:02 +00:00
parent ba7fbf6ae7
commit 01af54c464
2 changed files with 8 additions and 10 deletions

@ -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);