45 bool fullMatch =
true;
47 point compareOrigin = origin;
49 if (origin ==
point(VGREAT, VGREAT, VGREAT))
53 compareOrigin =
sum(pts1)/pts1.
size();
63 scalar dist0 = pts0MagSqr[i];
65 label face0I = pts0MagSqr.
indices()[i];
67 scalar matchDist = matchDistances[face0I];
69 label startI =
findLower(pts1MagSqr, 0.99999*dist0 - 2*matchDist);
78 scalar minDistSqr = VGREAT;
85 (j < pts1MagSqr.
size())
86 && (pts1MagSqr[j] < 1.00001*dist0 + 2*matchDist)
91 label faceI = pts1MagSqr.
indices()[j];
93 scalar distSqr =
magSqr(pts0[face0I] - pts1[faceI]);
95 if (distSqr <=
sqr(matchDist) && distSqr < minDistSqr)
108 Pout<<
"Cannot find point in pts1 matching point " << face0I
109 <<
" coord:" << pts0[face0I]
110 <<
" in pts0 when using tolerance " << matchDist <<
endl;
113 Pout<<
"Searching started from:" << startI <<
" in pts1"
119 (j < pts1MagSqr.
size())
120 && (pts1MagSqr[j] < 1.00001*dist0 + 2*matchDist)
125 label faceI = pts1MagSqr.
indices()[j];
127 Pout<<
" Compared coord:" << pts1[faceI]
128 <<
" with difference to point "
129 <<
mag(pts1[faceI] - pts0[face0I]) <<
endl;
134 from0To1[face0I] = minFaceI;