From f6fd8f0bcf5f66c5a6cf01c1a88fecae01478d68 Mon Sep 17 00:00:00 2001
From: jgv <jgv@opencascade.com>
Date: Wed, 9 Mar 2016 17:46:55 +0300
Subject: [PATCH] 0025813: regression in Hidden Line Removal Regressions that
 appeared in OCCT 6.6.0 are fixed.

Correction of test cases for issue #25813

Reference data update for test case bugs/mnodalg_6 /bug25908
---
 src/HLRBRep/HLRBRep_Data.cxx   |  2 +-
 tests/bugs/modalg_6/bug25813_1 | 19 +++++++++++++++++++
 tests/bugs/modalg_6/bug25813_2 | 17 +++++++++++++++++
 tests/bugs/modalg_6/bug25813_3 | 16 ++++++++++++++++
 tests/bugs/modalg_6/bug25813_4 | 17 +++++++++++++++++
 tests/bugs/modalg_6/bug25813_5 | 17 +++++++++++++++++
 tests/bugs/modalg_6/bug25908   |  6 +++---
 7 files changed, 90 insertions(+), 4 deletions(-)
 create mode 100644 tests/bugs/modalg_6/bug25813_1
 create mode 100644 tests/bugs/modalg_6/bug25813_2
 create mode 100644 tests/bugs/modalg_6/bug25813_3
 create mode 100644 tests/bugs/modalg_6/bug25813_4
 create mode 100644 tests/bugs/modalg_6/bug25813_5

diff --git a/src/HLRBRep/HLRBRep_Data.cxx b/src/HLRBRep/HLRBRep_Data.cxx
index c19a76fcfc..8a4d2927bb 100644
--- a/src/HLRBRep/HLRBRep_Data.cxx
+++ b/src/HLRBRep/HLRBRep_Data.cxx
@@ -808,7 +808,7 @@ void HLRBRep_Data::Update (const HLRAlgo_Projector& P)
     fd->Side(FS.IsSide(tol,myToler*10));
     Standard_Boolean inverted = Standard_False;
     if (fd->WithOutL() && !fd->Side()) {
-      //inverted = OrientOutLine(face,*fd);
+      inverted = OrientOutLine(face,*fd);
       OrientOthEdge(face,*fd);
     }
     if (fd->Side()) {
diff --git a/tests/bugs/modalg_6/bug25813_1 b/tests/bugs/modalg_6/bug25813_1
new file mode 100644
index 0000000000..c54c618b32
--- /dev/null
+++ b/tests/bugs/modalg_6/bug25813_1
@@ -0,0 +1,19 @@
+puts "============"
+puts "OCC25813"
+puts "============"
+puts ""
+######################################################
+# regression in Hidden Line Removal
+######################################################
+
+pcylinder cc 10 30
+pcylinder cc2 8 50
+ttranslate cc2 0 0 2
+bfuse result cc cc2
+vinit
+vdisplay result
+vfit
+vhlr on
+vhlrtype algo result
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25813_2 b/tests/bugs/modalg_6/bug25813_2
new file mode 100644
index 0000000000..31a6a01e33
--- /dev/null
+++ b/tests/bugs/modalg_6/bug25813_2
@@ -0,0 +1,17 @@
+puts "============"
+puts "OCC25813"
+puts "============"
+puts ""
+######################################################
+# regression in Hidden Line Removal
+######################################################
+
+restore [locate_data_file bug25813_hlr-bus1-draw-Fusion001.brep] result
+
+vinit
+vdisplay result
+vfit
+vhlr on
+vhlrtype algo result
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25813_3 b/tests/bugs/modalg_6/bug25813_3
new file mode 100644
index 0000000000..bb4dffeddd
--- /dev/null
+++ b/tests/bugs/modalg_6/bug25813_3
@@ -0,0 +1,16 @@
+puts "============"
+puts "OCC25813"
+puts "============"
+puts ""
+######################################################
+# regression in Hidden Line Removal
+######################################################
+
+ptorus result 30 10
+vinit
+vdisplay result
+vfit
+vhlr on
+vhlrtype algo result
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25813_4 b/tests/bugs/modalg_6/bug25813_4
new file mode 100644
index 0000000000..1aeafe2bdd
--- /dev/null
+++ b/tests/bugs/modalg_6/bug25813_4
@@ -0,0 +1,17 @@
+puts "============"
+puts "OCC25813"
+puts "============"
+puts ""
+######################################################
+# regression in Hidden Line Removal
+######################################################
+
+restore [locate_data_file bug25813_hlr-test_normandc1m1-draw-Cut001.brep] result
+
+vinit
+vdisplay result
+vfit
+vhlr on
+vhlrtype algo result
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25813_5 b/tests/bugs/modalg_6/bug25813_5
new file mode 100644
index 0000000000..cfb007482d
--- /dev/null
+++ b/tests/bugs/modalg_6/bug25813_5
@@ -0,0 +1,17 @@
+puts "============"
+puts "OCC25813"
+puts "============"
+puts ""
+######################################################
+# regression in Hidden Line Removal
+######################################################
+
+restore [locate_data_file bug25813_hlr-fillet2-tcl-f.brep] result
+
+vinit
+vdisplay result
+vfit
+vhlr on
+vhlrtype algo result
+
+checkview -screenshot -3d -path ${imagedir}/${test_image}.png
diff --git a/tests/bugs/modalg_6/bug25908 b/tests/bugs/modalg_6/bug25908
index cf1391bf68..a08c5dd6ff 100755
--- a/tests/bugs/modalg_6/bug25908
+++ b/tests/bugs/modalg_6/bug25908
@@ -20,15 +20,15 @@ compound vl v1l vnl vol vil result
 
 set nbshapes_expected "
 Number of shapes in shape
- VERTEX    : 165
- EDGE      : 83
+ VERTEX    : 161
+ EDGE      : 81
  WIRE      : 0
  FACE      : 0
  SHELL     : 0
  SOLID     : 0
  COMPSOLID : 0
  COMPOUND  : 1
- SHAPE     : 249
+ SHAPE     : 243
 "
 
 checknbshapes result -ref ${nbshapes_expected} -t -m "HLRToShape"