View Issue Details

IDProjectCategoryView StatusLast Update
0033267CommunityOCCT:Modeling Algorithmspublic2024-04-25 19:36
Reporterfestive-shrimp Assigned Tooan  
PrioritynormalSeverityminor 
Status newResolutionopen 
PlatformLinuxOSUbuntu 22.04 
Product Version7.6.3 
Summary0033267: Modeling Algorithms - BRepClass3d_SolidClassifier wrongly classifies a point outside a point as being inside
DescriptionIn the attached BReps (zipped to fit within upload restriction), the point [-7.738402407598, 6.778833063441, 5.128101237106] is classified by BRepClass3d_SolidClassifier as being inside one of the shapes, with tolerance 0.001. However, this is wrong, as the point is far outside; even outside the OBB of either of the shapes.
Steps To ReproduceThe point [-7.738402407598, 6.778833063441, 5.128101237106] is classified wrongly by BRepClass3d_SolidClassifier with tolerance 0.001 in one of the two attached BReps (solid_badclass.brep). The other one (solid_goodclass.brep) is nearly identical geometrically, but here the point is correctly classified.,Unfortunately I have not been able to narrow the issue down to simpler geometry.
The issue can also be reproduced with the attached program, which can be run as:
g++ classify-fail.cpp -I/usr/local/include/opencascade -o classify-fail -lTKernel -lTKTopAlgo -lTKBRep -lTKMath && ./classify-fail
This gives the output

solid_badclass: TopAbs_IN
solid_goodclass: TopAbs_OUT
solid_badclass: Outside OBB
solid_goodclass: Outside OBB

but the expected output is

solid_badclass: TopAbs_OUT
solid_goodclass: TopAbs_OUT
solid_badclass: Outside OBB
solid_goodclass: Outside OBB
TagsNo tags attached.
Test case number

Attached Files

  • classify-fail.cpp (1,470 bytes)
  • solid_badclass.brep.zip (922,611 bytes)
  • solid_goodclass.brep.zip (897,027 bytes)

Activities

festive-shrimp

2022-12-09 18:00

reporter   ~0112561

The files for some reason weren't uploaded along with the issue, so they are attached here.
classify-fail.cpp (1,470 bytes)
solid_badclass.brep.zip (922,611 bytes)
solid_goodclass.brep.zip (897,027 bytes)

festive-shrimp

2022-12-12 18:52

reporter   ~0112613

Also worth mentioning is that this bug may cause distance computations to give wrong results, since points far outside of shapes may be detected as inside the shapes, thus giving distance 0.

festive-shrimp

2023-12-18 17:53

reporter   ~0114794

I retested this in 7.8.0, and the issue is still present.

Issue History

Date Modified Username Field Change
2022-12-09 17:59 festive-shrimp New Issue
2022-12-09 17:59 festive-shrimp Assigned To => msv
2022-12-09 18:00 festive-shrimp Note Added: 0112561
2022-12-09 18:00 festive-shrimp File Added: classify-fail.cpp
2022-12-09 18:00 festive-shrimp File Added: solid_badclass.brep.zip
2022-12-09 18:00 festive-shrimp File Added: solid_goodclass.brep.zip
2022-12-12 18:52 festive-shrimp Note Added: 0112613
2023-12-18 17:53 festive-shrimp Note Added: 0114794
2024-04-25 10:46 festive-shrimp Assigned To msv => oan
2024-04-25 19:36 dpasukhi Summary BRepClass3d_SolidClassifier wrongly classifies a point outside a point as being inside => Modeling Algorithms - BRepClass3d_SolidClassifier wrongly classifies a point outside a point as being inside