1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-21 10:55:33 +03:00

0025722: Wrong implementation of SetFuzzyValue method

The following methods
  void BOPAlgo_ArgumentAnalyzer::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_Builder::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_PaveFiller::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPDS_DS::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_BuilderAlgo::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_Check::SetFuzzyValue(const Standard_Real theFuzz)
have been corrected.

Added test case bugs/modalg_5/bug25722
This commit is contained in:
emv 2015-01-22 17:24:00 +03:00 committed by bugmaster
parent 19dcfc1bdb
commit 92e24f9d36
7 changed files with 47 additions and 18 deletions

View File

@ -67,9 +67,7 @@ inline Standard_Boolean& BOPAlgo_ArgumentAnalyzer::CurveOnSurfaceMode()
//=======================================================================
inline void BOPAlgo_ArgumentAnalyzer::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -198,9 +198,7 @@ BOPDS_PDS BOPAlgo_Builder::PDS()
//=======================================================================
void BOPAlgo_Builder::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -146,9 +146,7 @@ const BOPCol_ListOfShape& BOPAlgo_PaveFiller::Arguments()const
//=======================================================================
void BOPAlgo_PaveFiller::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -139,9 +139,7 @@ inline const BOPDS_MapOfPassKey& BOPDS_DS::Interferences()const
//=======================================================================
inline void BOPDS_DS::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -58,9 +58,7 @@ BRepAlgoAPI_BuilderAlgo::~BRepAlgoAPI_BuilderAlgo()
//=======================================================================
void BRepAlgoAPI_BuilderAlgo::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -80,9 +80,7 @@ BRepAlgoAPI_Check::~BRepAlgoAPI_Check()
//=======================================================================
void BRepAlgoAPI_Check::SetFuzzyValue(const Standard_Real theFuzz)
{
if (theFuzz > 0.) {
myFuzzyValue = theFuzz;
}
myFuzzyValue = (theFuzz < 0.) ? 0. : theFuzz;
}
//=======================================================================
//function : FuzzyValue

View File

@ -0,0 +1,41 @@
puts "=========="
puts "OCC25722"
puts "=========="
puts ""
#################################################
# Wrong implementation of SetFuzzyValue method
#################################################
box b1 10 10 10
box b2 10.0001 0 0 10 10 10
bfuzzyvalue 0.0001
bclearobjects
bcleartools
baddobjects b1
baddtools b2
bfillds
bbop r 1
regexp {SOLID +: +([-0-9.+eE]+)} [nbshapes r] full nb_sol
if { ${nb_sol} != 1 } {
puts "Error : Result shape is WRONG because it must contains 1 solid instead of ${nb_sol}"
} else {
puts "Result shape contains ${nb_sol} solids"
}
bfuzzyvalue 0.
box b1 10 10 10
box b2 10.0001 0 0 10 10 10
bclearobjects
bcleartools
baddobjects b1
baddtools b2
bfillds
bbop result 1
regexp {SOLID +: +([-0-9.+eE]+)} [nbshapes result] full nb_sol
if { ${nb_sol} != 2 } {
puts "Error : Result shape is WRONG because it must contains 2 solids instead of ${nb_sol}"
} else {
puts "Result shape contains ${nb_sol} solids"
}
set 2dviewer 1