mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0024481: Test "Perform Infinite Point" provides wrong result for a solid
Test cases for issue CR24481
This commit is contained in:
@@ -54,6 +54,8 @@
|
||||
#include <BRep_Tool.hxx>
|
||||
#include <BRepClass_FaceClassifier.hxx>
|
||||
//<-OCC454(apo)
|
||||
#include <BRepTopAdaptor_FClass2d.hxx>
|
||||
|
||||
|
||||
//=======================================================================
|
||||
//function : FindAPointInTheFace
|
||||
@@ -177,6 +179,14 @@ Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace
|
||||
ParamInit *= 0.41234;
|
||||
u_ = P.X() + ParamInit* T.X();
|
||||
v_ = P.Y() + ParamInit* T.Y();
|
||||
|
||||
//Additional check
|
||||
BRepTopAdaptor_FClass2d Classifier(face, Precision::Confusion());
|
||||
gp_Pnt2d aPnt2d(u_, v_);
|
||||
TopAbs_State StateOfResultingPoint = Classifier.Perform(aPnt2d);
|
||||
if (StateOfResultingPoint != TopAbs_IN)
|
||||
return Standard_False;
|
||||
|
||||
BRepAdaptor_Surface s;
|
||||
s.Initialize (face, Standard_False);
|
||||
s.D1 (u_, v_, APoint_, theVecD1U, theVecD1V);
|
||||
|
Reference in New Issue
Block a user