mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
Compare commits
1 Commits
integratio
...
CR29144_5
Author | SHA1 | Date | |
---|---|---|---|
|
a5860f47ca |
29
get.sh
29
get.sh
@@ -1,29 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
problem_file=upgrade.bat
|
|
||||||
|
|
||||||
list="master integration"
|
|
||||||
echo "Getting commit hash"
|
|
||||||
for name in $list ; do
|
|
||||||
echo $name
|
|
||||||
export shorthash_$name=$(git rev-parse --short $name)
|
|
||||||
echo shorthash_$name=$(eval echo "\$shorthash_${name}")
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Getting list of commits between master and integration"
|
|
||||||
list=$(git rev-list --ancestry-path ${shorthash_master}..${shorthash_integration})
|
|
||||||
|
|
||||||
echo "Getting commit whose hash matches the hash of commit with problematic file"
|
|
||||||
for hash in $list ; do
|
|
||||||
list_changed_files=$(git diff-tree --no-commit-id --name-only -r $hash | sed 's/\// /g' | awk '{ print $NF }')
|
|
||||||
for changed_file in $list_changed_files; do
|
|
||||||
if [ "$problem_file" == "$changed_file" ] ; then
|
|
||||||
echo Reverting:
|
|
||||||
echo $(git log -1 --format=oneline $hash)
|
|
||||||
# git revert $hash
|
|
||||||
hash=$(echo $hash | head -c 10)
|
|
||||||
echo $hash
|
|
||||||
git rebase --onto $hash^ $hash
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
@@ -13,7 +13,7 @@
|
|||||||
//
|
//
|
||||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||||
// commercial license or contractual agreement.
|
// commercial license or contractual agreement.
|
||||||
// branch2
|
|
||||||
#include <Adaptor3d_Curve.hxx>
|
#include <Adaptor3d_Curve.hxx>
|
||||||
|
|
||||||
#include <Geom_BezierCurve.hxx>
|
#include <Geom_BezierCurve.hxx>
|
||||||
|
@@ -1154,7 +1154,6 @@ void IntTools_BeanFaceIntersector::ComputeRangeFromStartPoint(const Standard_Boo
|
|||||||
|
|
||||||
Standard_Boolean isboundaryindex = Standard_False;
|
Standard_Boolean isboundaryindex = Standard_False;
|
||||||
Standard_Boolean isvalidindex = Standard_True;
|
Standard_Boolean isvalidindex = Standard_True;
|
||||||
|
|
||||||
while((aDelta >= aMinDelta) && (loopcounter <= 10)) {
|
while((aDelta >= aMinDelta) && (loopcounter <= 10)) {
|
||||||
Standard_Boolean pointfound = Standard_False;
|
Standard_Boolean pointfound = Standard_False;
|
||||||
|
|
||||||
@@ -1166,7 +1165,7 @@ void IntTools_BeanFaceIntersector::ComputeRangeFromStartPoint(const Standard_Boo
|
|||||||
if(anExtrema.IsDone()) {
|
if(anExtrema.IsDone()) {
|
||||||
if(anExtrema.SquareDistance() < myCriteria * myCriteria) {
|
if(anExtrema.SquareDistance() < myCriteria * myCriteria) {
|
||||||
Extrema_POnSurf aPOnSurf = anExtrema.Point();
|
Extrema_POnSurf aPOnSurf = anExtrema.Point();
|
||||||
aPOnSurf.Parameter(U, V);
|
aPOnSurf.Parameter(U, V);
|
||||||
pointfound = Standard_True;
|
pointfound = Standard_True;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1182,13 +1181,11 @@ void IntTools_BeanFaceIntersector::ComputeRangeFromStartPoint(const Standard_Boo
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
aDeltaRestrictor = aDelta;
|
aDeltaRestrictor *= 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if point found decide to increase aDelta using derivative of distance function
|
// Increase step if point was found, decrease otherwise
|
||||||
//
|
aDelta *= (pointfound ? 2. : 0.5);
|
||||||
|
|
||||||
aDelta = (pointfound) ? (aDelta * 2.) : (aDelta * 0.5);
|
|
||||||
aDelta = (aDelta < aDeltaRestrictor) ? aDelta : aDeltaRestrictor;
|
aDelta = (aDelta < aDeltaRestrictor) ? aDelta : aDeltaRestrictor;
|
||||||
|
|
||||||
aCurPar = (ToIncreaseParameter) ? (aPrevPar + aDelta) : (aPrevPar - aDelta);
|
aCurPar = (ToIncreaseParameter) ? (aPrevPar + aDelta) : (aPrevPar - aDelta);
|
||||||
@@ -1197,7 +1194,7 @@ void IntTools_BeanFaceIntersector::ComputeRangeFromStartPoint(const Standard_Boo
|
|||||||
// prevent infinite loop when (aPrevPar +/- aDelta) == aPrevPar == 0.
|
// prevent infinite loop when (aPrevPar +/- aDelta) == aPrevPar == 0.
|
||||||
//
|
//
|
||||||
|
|
||||||
if( aCurPar == aPrevPar )
|
if (Abs (aCurPar - aPrevPar) < myCurveResolution)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
BoundaryCondition = (ToIncreaseParameter) ? (aCurPar > aCurrentRange.Last()) : (aCurPar < aCurrentRange.First());
|
BoundaryCondition = (ToIncreaseParameter) ? (aCurPar > aCurrentRange.Last()) : (aCurPar < aCurrentRange.First());
|
||||||
|
27
tests/perf/modalg/bug29144
Normal file
27
tests/perf/modalg/bug29144
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
puts "========"
|
||||||
|
puts "0029144: Modeling Algorithms - BOP PaveFiller hangs in some case"
|
||||||
|
puts "========"
|
||||||
|
puts ""
|
||||||
|
|
||||||
|
puts "TODO OCC29145 ALL : Faulty shapes in variables faulty_1 to faulty_"
|
||||||
|
|
||||||
|
bclearobjects;
|
||||||
|
bcleartools;
|
||||||
|
|
||||||
|
restore [locate_data_file bug29093_hung3.brep] a
|
||||||
|
explode a So
|
||||||
|
baddobjects a_7
|
||||||
|
baddtools a_11
|
||||||
|
|
||||||
|
dchrono cr restart
|
||||||
|
|
||||||
|
bfillds
|
||||||
|
bbuild result
|
||||||
|
|
||||||
|
dchrono cr stop counter bbuild
|
||||||
|
|
||||||
|
checkshape result
|
||||||
|
checkprops result -s 1313890 -v 46778600
|
||||||
|
checknbshapes result -vertex 9 -edge 20 -wire 12 -face 12 -shell 3 -solid 3
|
||||||
|
|
||||||
|
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
@@ -1,5 +1,5 @@
|
|||||||
@echo off
|
@echo off
|
||||||
rem test1
|
|
||||||
rem Helper script to run procedure of automatic upgrade of application code
|
rem Helper script to run procedure of automatic upgrade of application code
|
||||||
rem on newer version of OCCT on Windows.
|
rem on newer version of OCCT on Windows.
|
||||||
rem Running it requires that Tcl should be in the PATH
|
rem Running it requires that Tcl should be in the PATH
|
||||||
|
Reference in New Issue
Block a user