mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-11 01:58:22 +08:00
1. The tool of computing the max distance between 3D curve and its 2d representation on the face
has been moved from static methods in BOPTools_AlgoTools class to BRepLib_CheckCurveOnSurface class.
2. The tools has been applied to 2d curves built during Boolean Operation
and to some intersection curves.
3. The functions
Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
(const TopoDS_Face& theFace,
const TopoDS_Edge& theEdge,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
and
Standard_Boolean IntTools_Tools::ComputeTolerance
(const Handle(Geom_Curve)& theCurve3D,
const Handle(Geom2d_Curve)& theCurve2D,
const Handle(Geom_Surface)& theSurf,
const Standard_Real theFirst,
const Standard_Real theLast,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
have been developed for easy access to BRepLib_CheckCurveOnSurface functionality.
class IntTools_FaceFace
method void IntTools_FaceFace::ComputeTolReached3d()
Case for Plane/BSpline intersection added for treatment.
Test case for issue CR25597
Fix for regression boolean bsection N7.
class BOPAlgo_PaveFiller
method
void BOPAlgo_PaveFiller::UpdateFaceInfo
(BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
const BOPCol_DataMapOfIntegerInteger& theDMV)
Updating Face Info information with new vertices created in PostTreatFF.
Correction boolean/bsection/N2
Updated test cases.
50 lines
1.4 KiB
Plaintext
Executable File
50 lines
1.4 KiB
Plaintext
Executable File
puts "TODO OCC25597 ALL: OCC23218: Faulty"
|
|
puts "============"
|
|
puts "OCC23218"
|
|
puts "============"
|
|
puts ""
|
|
#######################################################################
|
|
# Wrong value of tolerance for the intersection curve.
|
|
#######################################################################
|
|
|
|
set BugNumber OCC23218
|
|
|
|
puts "Load first shape ..."
|
|
restore [locate_data_file bug23218_b1] b1
|
|
|
|
puts "Load second shape ..."
|
|
restore [locate_data_file bug23218_b4] b2
|
|
|
|
puts "Start project operation ..."
|
|
set result [bopcurves b1 b2]
|
|
puts $result
|
|
puts "Finish project operation ..."
|
|
|
|
set GoodToleranceReached 6.3315853638232248e-007
|
|
regexp {Tolerance Reached=([-0-9.+eE]+)} $result full ToleranceReached
|
|
|
|
proc GetPercent {Value GoodValue} {
|
|
set Percent 0.
|
|
if {${GoodValue} != 0.} {
|
|
set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.]
|
|
} elseif {${Value} != 0.} {
|
|
set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.]
|
|
} else {
|
|
set Percent 0.
|
|
}
|
|
return ${Percent}
|
|
}
|
|
|
|
|
|
set percent_max 0.1
|
|
set ToleranceReached_percent [expr abs ( [GetPercent ${ToleranceReached} ${GoodToleranceReached}] ) ]
|
|
|
|
if {${ToleranceReached_percent} > ${percent_max}} {
|
|
puts "${BugNumber}: Faulty"
|
|
} else {
|
|
puts "OK ${BugNumber}"
|
|
}
|
|
|
|
set 3dviewer 0
|
|
|