@@ -258,22 +258,21 @@ namespace diffCheck::segmentation
258258 Eigen::Vector3d segmentCenter;
259259 Eigen::Vector3d segmentNormal;
260260
261- for (auto point : segment->Points ){segmentCenter += point;}
262- if (segment->GetNumPoints () > 0 )
263- {
264- segmentCenter /= segment->GetNumPoints ();
265- }
266- else
261+ if (segment->GetNumPoints () == 0 )
267262 {
268263 DIFFCHECK_WARN (" Empty segment. Skipping the segment." );
269264 continue ;
270265 }
266+ segmentCenter = segment->GetAxixAlignedBoundingBox ()[0 ] + (segment->GetAxixAlignedBoundingBox ()[1 ] - segment->GetAxixAlignedBoundingBox ()[0 ])/2.0 ;
267+
271268 for (auto normal : segment->Normals ){segmentNormal += normal;}
272269 segmentNormal.normalize ();
273270 double currentDistance = (faceCenter - segmentCenter).norm ();
274271 double currentDitanceOrthogonalToFace = std::abs ((faceCenter - segmentCenter).dot (faceNormal));
275272 double currentAngle = std::abs (sin (acos (faceNormal.dot (faceCenter - segmentCenter))));
276- if (std::abs (sin (acos (faceNormal.dot (segmentNormal)))) < angleThreshold && currentDitanceOrthogonalToFace < maximumFaceSegmentDistance && currentDitanceOrthogonalToFace < faceDistance)
273+ if (std::abs (sin (acos (faceNormal.dot (segmentNormal)))) < angleThreshold
274+ && currentDitanceOrthogonalToFace < maximumFaceSegmentDistance
275+ && currentDitanceOrthogonalToFace < faceDistance)
277276 {
278277 correspondingSegment = segment;
279278 faceDistance = currentDitanceOrthogonalToFace;
@@ -435,7 +434,9 @@ namespace diffCheck::segmentation
435434 double currentDistance = (center - clusterCenter).norm () ;
436435 double adaptedDistance = currentDistance * std::abs (dotProduct);
437436
438- if (std::abs (dotProduct) < angleThreshold && adaptedDistance < distance && currentDistance < (max - min).norm ()*associationThreshold)
437+ if (std::abs (dotProduct) < angleThreshold
438+ && adaptedDistance < distance
439+ && currentDistance < (max - min).norm ()*associationThreshold)
439440 {
440441 goodMeshIndex = meshIndex;
441442 goodFaceIndex = faceIndex;
0 commit comments