0025778: Gradient background will cut view if there is ClipPlane defined. V6_9_0_beta1
authorapl <apl@opencascade.com>
Wed, 15 Apr 2015 09:27:05 +0000 (12:27 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 16 Apr 2015 13:39:58 +0000 (16:39 +0300)
src/OpenGl/OpenGl_View_2.cxx
tests/bugs/vis/bug25778 [new file with mode: 0644]

index db638b5..4240be5 100644 (file)
@@ -232,6 +232,7 @@ void OpenGl_View::DrawBackground (const Handle(OpenGl_Workspace)& theWorkspace)
   aCtx->WorldViewState.Pop();
   aCtx->ProjectionState.Pop();
   aCtx->ApplyProjectionMatrix();
+  aCtx->ApplyWorldViewMatrix();
 
   if (theWorkspace->UseZBuffer())
   {
diff --git a/tests/bugs/vis/bug25778 b/tests/bugs/vis/bug25778
new file mode 100644 (file)
index 0000000..8b254f0
--- /dev/null
@@ -0,0 +1,34 @@
+puts "================================================================"
+puts "CR25778"
+puts "Gradient background will cut view if there is ClipPlane defined."
+puts "================================================================"
+puts ""
+
+set aExpectedImg $imagedir/${casename}_expected_img.png
+set aVerifiedImg $imagedir/${casename}_verified_img.png
+set aDiff $imagedir/${casename}_diff.png
+
+vinit View1
+vclear
+vaxo
+vsetdispmode 1
+box b 1 1 1
+vdisplay b
+vfit
+
+vclipplane create pln
+vclipplane set pln view Driver1/Viewer1/View1
+vclipplane change pln equation 0 1 0 -0.5
+
+vsetgradientbg 0 0 0 0 0 0 0
+
+vdump $aExpectedImg
+
+vsetgradientbg 0 0 0 0 0 0 1
+
+vdump $aVerifiedImg
+
+set aDiffRes [diffimage $aExpectedImg $aVerifiedImg 0.1 0 0 $aDiff]
+if {$aDiffRes != 0} {
+  puts "ERROR : Test failed: gradient background affects clipping."
+}