Skip to content

Commit 610dc87

Browse files
fix: avoid normalizing a null vector
1 parent 09c4913 commit 610dc87

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

‎src/diffCheck/segmentation/DFSegmentation.cc‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,11 @@ namespace diffCheck::segmentation
265265
Eigen::Vector3d segmentCenter = segment->GetAxixAlignedBoundingBox()[0] + (segment->GetAxixAlignedBoundingBox()[1] - segment->GetAxixAlignedBoundingBox()[0])/2.0;
266266

267267
for (auto normal : segment->Normals){segmentNormal += normal;}
268+
if (segmentNormal.norm() == 0)
269+
{
270+
DIFFCHECK_WARN("Segment normal is zero. Skipping the segment.");
271+
continue;
272+
}
268273
segmentNormal.normalize();
269274
double currentDitanceOrthogonalToFace = std::abs((faceCenter - segmentCenter).dot(faceNormal));
270275
if (std::abs(sin(acos(faceNormal.dot(segmentNormal)))) < angleThreshold

0 commit comments

Comments
 (0)