diff --git a/corelib/src/RegistrationVis.cpp b/corelib/src/RegistrationVis.cpp index a4ebee24..d2491547 100644 --- a/corelib/src/RegistrationVis.cpp +++ b/corelib/src/RegistrationVis.cpp @@ -1249,7 +1249,14 @@ Transform RegistrationVis::computeTransformationImpl( { if(variance <= _epipolarGeometryVar) { - transforms[dir] = cameraTransform; + if(this->force3DoF()) + { + transforms[dir] = cameraTransform.to3DoF(); + } + else + { + transforms[dir] = cameraTransform; + } } else { @@ -1327,6 +1334,10 @@ Transform RegistrationVis::computeTransformationImpl( (int)inliers[dir].size(), _minInliers, (int)matches[dir].size(), signatureA->id(), signatureB->id()); UINFO(msg.c_str()); } + else if(this->force3DoF()) + { + transforms[dir] = transforms[dir].to3DoF(); + } } else { @@ -1364,6 +1375,10 @@ Transform RegistrationVis::computeTransformationImpl( (int)inliers[dir].size(), _minInliers, (int)matches[dir].size(), signatureA->id(), signatureB->id()); UINFO(msg.c_str()); } + else if(this->force3DoF()) + { + transforms[dir] = transforms[dir].to3DoF(); + } } else {